mediawiki.jqueryMsg: Support arbitrary expressions in plural forms
In I15c167f245 mw.jqueryMsg.htmlEmitter#plural was modified to
convert the plural params to flat html. This caused extlink params
as plural forms expanded as text node and escaped.
This patch improves the plural support by:
* Allowing valid parser expressions as plural form parameters. They wont
be converted to html, parsed nodes will be preserved in plural
calculation
* For explicit plural forms like n=expression, the expression can be any
valid parser expression. They also will not be coverted to html,
nodes will be preserved
* Move the splitting by equal sign logic for explicit plural forms to
jqueryMsg, avoiding mediawiki.language#convertPlural to do
parsing logc. Explicit plural forms, if any, are passed as a parameter
to mediawiki.language#convertPlural
Includes test cases for all combinations of the above cases.
mediawiki.jqueryMsg.peg can be improved to support digit=expression as an
additional form for templateParam to better handle this. But it looks
it can potentially disturb other parser functions. Not attempted.
Bug: 70617
Change-Id: I3c3cbb6d3676903941c40b658032b4c543556e06