Skip to content

Commit cf6a5da

Browse files
Staacksclaude
andcommitted
Views contract: the RTL smoke pass differs per platform, say so
iOS mirrors already (UIKit needs no opt-in), so its RTL goldens capture real mirrored layouts; Android does not yet declare supportsRtl, so its pass is a no-op with goldens identical to LTR - which is itself the pin: switching RTL support on (a prerequisite for shipping ar/fa) changes those goldens loudly instead of silently. Stated in the contract so the row is not read as RTL-covered-on-both. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 15962bd commit cf6a5da

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

fixtures/views/README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,15 @@ screen with no sensors and no analysis.
4040
- **Configurations per fixture**: the two explicit themes; two font
4141
scales (1.0 and the platform's large setting); phone and tablet width;
4242
one RTL smoke pass (forced RTL layout direction — no RTL language
43-
ships yet, so this is layout-mirroring only, not translation).
43+
ships yet, so this is layout-mirroring only, not translation). The
44+
RTL pass currently means different things per platform, deliberately
45+
recorded rather than papered over: iOS mirrors already (UIKit does it
46+
without an opt-in), so its goldens capture real mirrored layouts;
47+
Android does not yet declare RTL support, so its pass is a no-op whose
48+
goldens are identical to LTR — which is itself the pin: the day
49+
supportsRtl is switched on (needed before ar/fa can ship), those
50+
goldens change loudly instead of silently. Do not read the row as
51+
"RTL layout is covered on both platforms".
4452
- **Naming**: goldens are keyed by fixture stem, view element label and
4553
configuration (e.g. `values/precision-6/dark-phone`), so a failing
4654
golden names its fixture line directly.

0 commit comments

Comments
 (0)