docs/reports/2026-10-05-full-model-comparison/forms-migration-unit-tests.log

1bun test v1.4.0 (34cbb9a40)
2
3tests/conditional-visibility.test.ts:
4(pass) MigrationContext.resolveLegacyCondition > strips a `key:<wrapper>::<inner-conditionalId>` namespace prefix and resolves to the inner field [0.14ms]
5(pass) MigrationContext.resolveLegacyCondition > strips a `key:<wrapper>::<inner-key>` namespace and falls back to the `key:` registry entry [0.02ms]
6(pass) MigrationContext.resolveLegacyCondition > still resolves the legacy `name:` fallback for unscoped refs [0.01ms]
7(pass) MigrationContext.resolveLegacyCondition > warns and returns undefined when neither the namespaced nor the bare key matches [0.03ms]
8(pass) MigrationContext.resolveLegacyCondition > returns undefined without warning when no dependency is declared
9(pass) migrateLegacyForm — per-member field-set conditions > carries `requiresOther*` from an inner fieldset row onto the matching field-set member [0.68ms]
10(pass) migrateLegacyForm — bare `_type: reference` step rows > treats a bare reference to a known fieldset as an unconditional field-set member [0.07ms]
11(pass) migrateLegacyForm — bare `_type: reference` step rows > warns when a bare reference points at an unknown fieldset [0.03ms]
12(pass) resolveLegacyFieldColumnSpan > renders single-line text inputs at half width [0.02ms]
13(pass) resolveLegacyFieldColumnSpan > keeps textareas at full width
14(pass) resolveLegacyFieldColumnSpan > keeps option-style controls at full width
15(pass) resolveLegacyFieldColumnSpan > handles `preset*` legacy types by normalising them first
16(pass) resolveLegacyFieldColumnSpan > treats display-only textboxes as full width
17
18tests/terms-migration.test.ts:
19(pass) migrateLegacyForm — legacy terms portable text > splits prose + checkbox blocks into a richText member and a tc-checkbox field member [0.29ms]
20(pass) migrateLegacyForm — legacy terms portable text > keeps the account-signup member as the last item on the last step [0.05ms]
21(pass) migrateLegacyForm — legacy terms portable text > falls back to sponsoredTerms when default terms is empty [0.05ms]
22(pass) migrateLegacyForm — legacy terms portable text > warns when sponsoredTerms diverges from the migrated default terms [0.10ms]
23(pass) migrateLegacyForm — legacy terms portable text > does not warn when sponsoredTerms is identical to terms except for `_key`s [0.03ms]
24(pass) migrateLegacyForm — legacy terms portable text > preserves dynamicReference marks verbatim and emits an informational warning [0.08ms]
25(pass) migrateLegacyForm — legacy terms portable text > prefers sponsoredTerms over terms when sponsoredTerms has a dynamicReference mark [0.04ms]
26(pass) migrateLegacyForm — legacy terms portable text > drops checkboxes that have no submission key (legacy authoring slip) [0.02ms]
27(pass) migrateLegacyForm — legacy terms portable text > deduplicates identical opt-in checkboxes across forms into a single field doc [0.03ms]
28(pass) migrateLegacyForm — legacy terms portable text > creates separate field docs when the required flag differs [0.03ms]
29
30 23 pass
31 0 fail
32 69 expect() calls
33Ran 23 tests across 2 files. [21.00ms]
34