I opened this PR ( https://github.com/rails/rails/pull/30666 ) over a year ago to fix a small bug in the ActionView::FixtureResolver where it does not handle stubbing templates that use variants in their name.
The variants option on render allow me to do something like this
render variants: :mobile
And rails will look for a template of index.html+mobile.slim before looking for index.html.slim
We used this feature of ActionView when building our dashboard framework in our application (which used a variants of :mailer so we could easily override templates when using the dashboard framework for web and mailers)
In writing tests for the system I tried utilizing the ActionView::FixtureResolver (via stub_template) and noticed that the class was broken in that it was looking up a template with a variant like this index.html.mobile.slim instead of index.html+mobile.slim.
This PR simply corrects the lookup behavior in the FixtureResolver (by using the separate from the EXTENSIONS constant). I also added some basic details about variants to the layouts_and_rendering guide as there has been zero documentation of this feature since it’s introduction in Rails 4.1.
So the question now is what else do I need to do to help get this PR merged into the mainline? Yes there are a few travis scenarios failing, but those appear to have nothing to do with my changes and rather have to do w/ the CI setup being temperamental.