User:SMcCandlish/sandbox if test

Self-testing template
This tests exactly how are distinct in the first half of an  test.
 * 1)   and


 * version:


 * version:

Test cases


❌ Inconsistent output: Specifying the parameter as an explicit null (rather than the entire parameter not being present) will allow the null to be overwritten by the second, otherwise equivalent parameter in the first version. This applies no matter how it it is set to null (see next several examples). This has implications for infoboxes, etc., since they are often given with empty but named parameters to fill in later. Someone using an alias of the parameter name might not replace such a placeholder but simply add the alias (e.g. place_of_death is present and someone adds Botswana or Botswana).

Whether this is a bug or a feature is a matter of interpretation. If coded the first way, it forces someone to resolve the parameter conflict to get the template to display the intended information, which is a good thing. On the other hand, not all editors will understand this and may just think the template is broken (if they even notice the error). The reason the feature exists is so that, e.g., , and can all produce different output (with the first case producing default output, the second something specific, and the third suppressing whatever the feature is). This has proven to be confusing to most users, and most templates are no longer coded to do this (since the mid-2000s).



See previous note.



See previous note.



See previous note.



See previous note.



✅ This, and all other cases below, work exactly as expected: The two versions produce identical (and reasonable) output.