return result === null ? null : result.join( '' );
}
- asciiAlphabetLiteral = makeRegexParser( /[A-Za-z]+/ );
+ asciiAlphabetLiteral = makeRegexParser( /^[A-Za-z]+/ );
htmlDoubleQuoteAttributeValue = makeRegexParser( /^[^"]*/ );
htmlSingleQuoteAttributeValue = makeRegexParser( /^[^']*/ );
} );
// HTML in wikitext
- QUnit.test( 'HTML', 32, function ( assert ) {
+ QUnit.test( 'HTML', 33, function ( assert ) {
mw.messages.set( 'jquerymsg-italics-msg', '<i>Very</i> important' );
assertBothModes( assert, [ 'jquerymsg-italics-msg' ], mw.messages.get( 'jquerymsg-italics-msg' ), 'Simple italics unchanged' );
'Self-closing tags don\'t cause a parse error'
);
+ mw.messages.set( 'jquerymsg-asciialphabetliteral-regression', '<b >>>="dir">asd</b>' );
+ assert.htmlEqual(
+ formatParse( 'jquerymsg-asciialphabetliteral-regression' ),
+ '<b>>>="dir">asd</b>',
+ 'Regression test for bad "asciiAlphabetLiteral" definition'
+ );
+
mw.messages.set( 'jquerymsg-entities1', 'A&B' );
mw.messages.set( 'jquerymsg-entities2', 'A>B' );
mw.messages.set( 'jquerymsg-entities3', 'A→B' );