CodeSampleX

网络测出了什么

下面每一行都是测量结果,不是观点。每一条都链接到一个已发布的样本,其 contract 在断网的固定容器中执行,你可以自己重跑并反驳结论。

操作系统和运行时来自所链接样本记录的环境;缺少该维度的条目会在筛选时排除。

597 条发现,覆盖 8 个生态。

样本自述,其契约实测

正在显示已发布样本测得的第 351–375 条(共 568 条)。

  1. npm样本契约node · linux/x64marked@17.0.3

    普遍认为Markdown image alt text containing double quotes is rendered with HTML entity escaping so the attribute value does not break out of quotes.

    实测marked.parse escapes double quotes inside image alt text as " rather than emitting raw unescaped double quotes inside alt attributes

  2. npm样本契约node · linux/x64luxon@3.7.2

    普遍认为Configuring Settings.defaultZone causes DateTime zone specifiers and setZone calls specifying 'system' to resolve to that configured default zone.

    实测When Settings.defaultZone is overridden, Info.normalizeZone('system') and DateTime.fromISO(str, { zone: 'system' }) resolve to the host environment's SystemZone rather than Settings.defaultZone, while 'default' resolves to Settings.defaultZone instead of creating an invalid DateTime.

  3. npm样本契约node · linux/x64luxon@3.5.0

    普遍认为Setting Settings.defaultZone overrides the zone for DateTime instances created or converted with the system zone specifier.

    实测DateTime setZone('system') returns a SystemZone instance with type system rather than inheriting Settings.defaultZone.

  4. npm样本契约node · linux/x64luxon@3.6.1

    普遍认为Looking up an invalid IANA timezone string such as 'constructor' in Luxon returns an invalid IANAZone object rather than the native Object constructor function.

    实测IANAZone.create('constructor') returns an invalid IANAZone instance with isValid equal to false rather than returning the native Object constructor function.

  5. npm样本契约node · linux/x64luxon@3.5.0

    普遍认为When throwOnInvalid is enabled, Luxon throws public custom error classes whose name property matches their constructor name.

    实测Luxon's custom error classes (InvalidDateTimeError, InvalidDurationError, and InvalidIntervalError) are not exported, and their thrown instances have their name property set to 'Error' rather than their constructor names.

  6. npm样本契约node · linux/x64luxon@3.7.2

    普遍认为DateTime.fromObject parses timezone configuration specified directly inside the date/time units object.

    实测DateTime.fromObject throws an Error containing 'Invalid unit zone' if the 'zone' property is passed in the first argument object instead of the second options argument.

  7. npm样本契约node · linux/x64jest@30.4.2

    普遍认为expect(received).toEqual(expected) and expect(received).toStrictEqual(expected) inspect all own properties on an object, failing when non-enumerable properties or non-enumerable symbols contain conflicting values.

    实测expect(received).toEqual(expected) and expect(received).toStrictEqual(expected) pass when two objects differ only in non-enumerable properties or non-enumerable symbols because Jest 30 excludes non-enumerable properties from object matchers by default.

  8. npm样本契约node · linux/x64jest@30.4.2

    普遍认为Passing an empty array to test.each() safely runs zero tests, mirroring how JavaScript iteration handles empty arrays.

    实测Calling test.each([]) throws a fatal error that crashes the test suite, rather than gracefully skipping and running zero tests.

  9. npm样本契约node · linux/x64jest@30.4.2

    普遍认为A developer might expect that resetting Jest's module cache with jest.resetModules() is sufficient to restore the original implementation of a mocked dependency when the parent module is re-required.

    实测jest.resetModules() alone fails to restore the original implementation of a mocked dependency because Jest retains the mock definition in its registry.

  10. npm样本契约node · linux/x64jest@29.7.0

    普遍认为beforeEach and afterEach hooks run for every test block defined in the file, including concurrent tests.

    实测test.concurrent bypasses beforeEach and afterEach hooks, executing concurrent tests without running the setup and teardown hooks.

  11. npm样本契约node · linux/x64jest@29.7.0

    普遍认为Jest's expect(a).toEqual(b) and expect(a).toStrictEqual(b) perform deep property equality on Error instances and fail when custom error properties differ.

    实测expect(errA).toEqual(errB) passes when errA and errB are Error instances with identical messages but different custom properties like code or statusCode.

  12. npm样本契约node · linux/x64jest@30.4.2

    普遍认为jest.isolateModules isolates module mocking performed with jest.doMock within its callback scope, so subsequent module require calls outside the callback return the unmocked original module.

    实测Calling jest.doMock inside a jest.isolateModules callback mutates Jest's global mock registry, causing subsequent require calls outside the callback to receive the mock instead of the original module.

  13. npm样本契约node · linux/x64jest@29.7.0

    普遍认为Jest automatically clears mock function call history between tests by default.

    实测Mock function call history is not cleared between tests by default, so a mock function called in a previous test retains its calls in subsequent tests unless clearMocks is explicitly enabled.

  14. npm样本契约node · linux/x64jest@29.7.0

    普遍认为Calling jest.spyOn on a getter property without an accessType argument raises a TypeError for non-function properties, or following its error message to use jest.replaceProperty successfully mocks the property value.

    实测jest.spyOn on a getter property without accessType throws a base Error rather than a TypeError and suggests using jest.replaceProperty, which then throws another base Error stating it cannot replace getter properties and recommending jest.spyOn(object, property, 'get').

  15. npm样本契约node · linux/x64jest@29.7.0

    普遍认为A test setup file configured under setupFiles has access to test framework globals like beforeEach, afterEach, and expect.extend.

    实测assert running Jest with test framework hooks in setupFiles fails with ReferenceError: beforeEach is not defined because the framework environment is not yet initialized

  16. npm样本契约node · linux/x64jest@30.4.2

    普遍认为Calling jest.resetAllMocks() restores functions spied on with jest.spyOn() back to their original unmocked implementation.

    实测jest.resetAllMocks() clears mock call history and resets the mock implementation to return undefined rather than restoring the original unmocked method, which only jest.restoreAllMocks() or spy.mockRestore() performs.

  17. npm样本契约node · linux/x64jest@30.4.2

    普遍认为A named ESM import from such a CommonJS module should always resolve to the corresponding own-property function export.

    实测Jest 30.4.2 keeps named imports working for a CommonJS module where `module.exports` is a function with own-property exports.

  18. npm样本契约node · linux/x64happy-dom@20.11.2

    普遍认为Happy DOM writes console output directly to the host console, and filtering virtual console output leaves unmatched entries queued for a later read.

    实测A default Window buffers log, warn, and error calls as exact structured entries with type, level, message, and null group metadata

  19. npm样本契约node · linux/x64happy-dom@20.11.2

    普遍认为The CSS attribute selector [attr~="val"] treats hyphens as word boundaries and matches substrings in hyphenated attribute values.

    实测child.matches('[data-controller~="modal"]') returns false against data-controller="modal-auto-close" rather than true, because [attr~="val"] matches only whitespace-separated tokens per CSS Selectors Level 4

  20. npm样本契约node · linux/x64express@4.18.2

    普遍认为All registered synchronous handlers on a single route will execute in sequence regardless of the stack size exceeding 100 handlers.

    实测Express 4.18.2 executes all 105 synchronous handlers registered on a single route, whereas Express 4.18.1 skips the 101st handler due to an off-by-one error during sync stack threshold reset.

  21. npm样本契约node · linux/x64express@5.2.1

    普遍认为req.is('json') evaluates the Content-Type header directly regardless of whether a body was sent, req.range() returns empty arrays or null on invalid or unsatisfiable byte ranges, and req.accepts() returns true for any media type mentioned in the Accept header.

    实测req.is('json') returns null when the request lacks body headers such as Content-Length or Transfer-Encoding even if Content-Type application/json is present, returning the matched type string only when a body is actually transmitted

  22. npm样本契约node · linux/x64express@4.22.2

    普遍认为Express executes middlewares and route handlers in strict sequential order, preventing subsequent routes from running until preceding async middlewares complete and call next().

    实测A downstream route handler is executed before a preceding async middleware completes if an earlier middleware calls next() twice.

  23. npm样本契约node · linux/x64es-toolkit@1.50.0

    普遍认为Passing { leading: true, trailing: false } to debounce executes immediately on the first call and prevents delayed execution on the trailing edge.

    实测Passing { leading: true, trailing: false } to es-toolkit debounce fails to invoke immediately because edges defaults to ['trailing'] unless configured as { edges: ['leading'] }, while trailing execution still fires on timeout.

  24. npm样本契约node · linux/x64express@4.21.2

    普遍认为Express identifies error-handling middleware by checking if the first argument is an error or omitting the unused next parameter like (err, req, res) still catches errors passed to next(err).

    实测Express skips 3-parameter error handlers (err, req, res) during error routing because it identifies error middleware solely by checking fn.length === 4, executing only 4-parameter functions (err, req, res, next) while running 3-parameter functions on normal requests with shifted arguments

  25. npm样本契约node · linux/x64core-js@3.50.0

    普遍认为A core-js-provided URL.prototype.toJSON dynamically calls the current URL.prototype.toString, so reassigning toString later also changes toJSON output.

    实测When the host URL.prototype.toJSON is absent, importing core-js/actual/url installs the method while retaining a compliant native URL constructor.

如何核对这里的任何一行

打开样本,读它的 contract,然后运行。contract 就是该样本自己的测试:它在断网的固定容器中运行,那次运行的签名回执才是网络所存储的东西。这里没有一条依赖我们对某个库的理解,只依赖这个库实际做了什么。

有些已发布的样例不在这个页面上。它们的契约通过了,样例也是活的 —— 但契约里没有一行能当句子读。像 expect(x).toBe(1) 这样的断言,放在它所检验的那个认知旁边,对读者什么也没说。与其登出没人能读的证据,不如空着。