General test
((Native name list |italics1=no |name1=Etsch |name2=Adige |name3=Àdexe |name4=Adisch |name5=Adesc |nolink5=yes |paren4=omit |parensize3=90% |tag1=de |tag2=it |tag3=vec |tag4=rm |tag5=lld))
Side by side comparison
((Native name list))((Native name list/sandbox))
'"`UNIQ--templatestyles-00000006-QINU`"'<div class="plainlist"><ul><li><span title="German-language text"><span lang="de" style="font-style: normal;">Etsch</span></span>&nbsp;<span class="languageicon" style="font-size:100%; font-weight:normal">([[German language|German]])</span></li><li><span title="Italian-language text"><i lang="it">Adige</i></span>&nbsp;<span class="languageicon" style="font-size:100%; font-weight:normal">([[Italian language|Italian]])</span></li><li><span title="Venetian-language text"><i lang="vec">Àdexe</i></span>&nbsp;<span class="languageicon" style="font-size:90%; font-weight:normal">([[Venetian language|Venetian]])</span></li><li><span title="Romansh-language text"><i lang="rm">Adisch</i></span></li><li><span title="Ladin-language text"><i lang="lld">Adesc</i></span>&nbsp;<span class="languageicon" style="font-size:100%; font-weight:normal">(Ladin)</span></li></ul></div>
'"`UNIQ--templatestyles-00000008-QINU`"'<div class="plainlist"><ul><li><span title="German-language text"><span lang="de" style="font-style: normal;">Etsch</span></span>&nbsp;<span class="languageicon" style="font-size:100%; font-weight:normal">([[German language|German]])</span></li><li><span title="Italian-language text"><i lang="it">Adige</i></span>&nbsp;<span class="languageicon" style="font-size:100%; font-weight:normal">([[Italian language|Italian]])</span></li><li><span title="Venetian-language text"><i lang="vec">Àdexe</i></span>&nbsp;<span class="languageicon" style="font-size:90%; font-weight:normal">([[Venetian language|Venetian]])</span></li><li><span title="Romansh-language text"><i lang="rm">Adisch</i></span></li><li><span title="Ladin-language text"><i lang="lld">Adesc</i></span>&nbsp;<span class="languageicon" style="font-size:100%; font-weight:normal">(Ladin)</span></li></ul></div>
Postfix
((Native name list |name1=Senda del Moro |name2=Cuesta de Mr. Bourne |paren2=omit |postfix2=&nbsp;([[Llanito]]) |tag1=es |tag2=mis))
Side by side comparison
((Native name list))((Native name list/sandbox))
Skipped item
((Native name list |name1=Guten tag1 |name3=Bonjour3 |tag1=de |tag3=fr))
Side by side comparison
((Native name list))((Native name list/sandbox))
Blank second item
((Native name list |italics1=no |italics2=no |name1=Guten tag1 |name2= |tag1=de |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Guten tag1 (German) Guten tag1 (German)

incomplete pairs

"pairN" = |tagN, nameN= set
An incomplete pair will always & should return an error. Unchanged, Nov 2022.
3 pairs up; no optionals used; all fine
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |tag1=de |tag2=fr |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
name2 blank
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |tag1=de |tag2= |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)
tag2 blank
((Native name list |name1=Guten tag1 |name2= |name3=ευρώ3 |tag1=de |tag2=fr |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
  • ευρώ3 (Greek)
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
  • ευρώ3 (Greek)
tag2 absent
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |tag1=de |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)
last tag3 blank
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |tag1=de |tag2=fr |tag3=))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Bonjour2 (French)
  • Error ((native name list)): an IETF language tag in |tag3= is required (help)
  • Guten tag1 (German)
  • Bonjour2 (French)
  • Error ((native name list)): an IETF language tag in |tag3= is required (help)
last tag3 absent
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |tag1=de |tag2=fr))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Bonjour2 (French)
  • Error ((native name list)): an IETF language tag in |tag3= is required (help)
  • Guten tag1 (German)
  • Bonjour2 (French)
  • Error ((native name list)): an IETF language tag in |tag3= is required (help)
name missing
((Native name list |name1=Guten tag1 |name2= |tag1=de |tag2=fr))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
NEW |suppress_empty_list_error
Should have no effect (incomplete=error msg rquired)
3 pairs up; suppress_empty_list_error=yes
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |suppress_empty_list_error=yes |tag1=de |tag2=fr |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
3 pairs up; suppress_empty_list_error=no
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |suppress_empty_list_error=no |tag1=de |tag2=fr |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
3 pairs up; suppress_empty_list_error=absent
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |tag1=de |tag2=fr |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
incomplete
pair2=INCOMPL; suppress_empty_list_error=yes
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |suppress_empty_list_error=yes |tag1=de |tag2= |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)
pair2=INCOMPL; suppress_empty_list_error=no
((Native name list |name1=Guten tag1 |name2= |name3=ευρώ3 |suppress_empty_list_error=no |tag1=de |tag2=fr |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
  • ευρώ3 (Greek)
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
  • ευρώ3 (Greek)
incomplete
pair2=INCOMPL; suppress_empty_list_error=yes
((Native name list |name1=Guten tag1 |name2=Bonjour2 |name3=ευρώ3 |suppress_empty_list_error=yes |tag1=de |tag2= |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)
  • Guten tag1 (German)
  • Error ((native name list)): an IETF language tag in |tag2= is required (help)
  • ευρώ3 (Greek)

empty pairs

all pairs empty
((Native name list |name1= |name2= |name3= |tag1= |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)
pair2=INCOMPL; suppress_empty_list_error=yes
((Native name list |name1=Guten tag1 |name2= |name3=ευρώ3 |suppress_empty_list_error=yes |tag1=de |tag2=fr |tag3=el))
Side by side comparison
((Native name list))((Native name list/sandbox))
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
  • ευρώ3 (Greek)
  • Guten tag1 (German)
  • Error ((native name list)): a name in |name2= is required (help)
  • ευρώ3 (Greek)
all pairs empty, suppress error
((Native name list |name1= |name2= |name3= |suppress_empty_list_error=yes |tag1= |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
all pairs empty; optionals
((Native name list |italics1=yes |italics2=no |name1= |name2= |name3= |tag1= |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)

new: empty_list_error

|suppress_empty_list_error=
no/default =expect old error message
yes explicit = new, suppress msg
suppress_empty_list_error ABSENT
((Native name list |name1= |name2= |tag1= |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)
suppress_empty_list_error BLANK (dflt=NO)
((Native name list |name1= |name2= |suppress_empty_list_error= |tag1= |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)
suppress_empty_list_error NO
((Native name list |name1= |name2= |suppress_empty_list_error=no |tag1= |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)
suppress_empty_list_error YES
((Native name list |name1= |name2= |suppress_empty_list_error=yes |tag1= |tag2=))
Side by side comparison
((Native name list))((Native name list/sandbox))
pair9 only
|suppress_empty_list_error=
no/default =expect old error message
yes explicit = new, suppress msg
suppress_empty_list_error ABSENT
((Native name list |name9= |tag9=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)
suppress_empty_list_error BLANK (dflt=NO)
((Native name list |name9= |suppress_empty_list_error= |tag9=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)
suppress_empty_list_error NO
((Native name list |name9= |suppress_empty_list_error=no |tag9=))
Side by side comparison
((Native name list))((Native name list/sandbox))
Error ((native name list)): list is empty (help) Error ((native name list)): list is empty (help)
suppress_empty_list_error YES
((Native name list |name9= |suppress_empty_list_error=yes |tag9=))
Side by side comparison
((Native name list))((Native name list/sandbox))

optional tag

new, Nov 2022
when optional parameter like |italics3=no is used, and pair3 is absent: no error expected
optional param3 without pair3
((Native name list |italics3=no |name1=Guten tag1 |name2=Bonjour2 |tag1=de |tag2=fr))
Side by side comparison
((Native name list))((Native name list/sandbox))
optional param2 without pair2, pair3 complete
((Native name list |italics2=no |name1=Guten tag1 |name3=Bonjour3 |tag1=de |tag3=fr))
Side by side comparison
((Native name list))((Native name list/sandbox))
More optional params without pair
((Native name list |italics1=no |italics3= |name1=Etsch1 |name2=Adige2 |name4=Bonjour4 |nolink3=yes |paren3=omit |parensize3=90% |tag1=de |tag2=it |tag4=fr))
Side by side comparison
((Native name list))((Native name list/sandbox))