From: Bartosz DziewoƄski Date: Wed, 11 May 2016 22:24:04 +0000 (+0200) Subject: mediawiki.jqueryMsg: Fix 'asciiAlphabetLiteral' definition X-Git-Tag: 1.31.0-rc.0~6986^2 X-Git-Url: https://git.cyclocoop.org/%7B%7B%20url_for%28?a=commitdiff_plain;h=4d97253b407d6d6d818da8d06d7cf709434bbab0;p=lhc%2Fweb%2Fwiklou.git mediawiki.jqueryMsg: Fix 'asciiAlphabetLiteral' definition Lack of the '^' anchor in the regex caused some inputs to be incorrectly parsed. For example, '>>="dir">asd' was parsed like 'asd'. Change-Id: Iec1a13e43d2ed34a52e625bbea129454d44ba348 --- diff --git a/resources/src/mediawiki/mediawiki.jqueryMsg.js b/resources/src/mediawiki/mediawiki.jqueryMsg.js index e905f69b71..b02fa36746 100644 --- a/resources/src/mediawiki/mediawiki.jqueryMsg.js +++ b/resources/src/mediawiki/mediawiki.jqueryMsg.js @@ -534,7 +534,7 @@ return result === null ? null : result.join( '' ); } - asciiAlphabetLiteral = makeRegexParser( /[A-Za-z]+/ ); + asciiAlphabetLiteral = makeRegexParser( /^[A-Za-z]+/ ); htmlDoubleQuoteAttributeValue = makeRegexParser( /^[^"]*/ ); htmlSingleQuoteAttributeValue = makeRegexParser( /^[^']*/ ); diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js index ee948bb806..6ee0ff45fa 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js @@ -908,7 +908,7 @@ } ); // HTML in wikitext - QUnit.test( 'HTML', 32, function ( assert ) { + QUnit.test( 'HTML', 33, function ( assert ) { mw.messages.set( 'jquerymsg-italics-msg', 'Very important' ); assertBothModes( assert, [ 'jquerymsg-italics-msg' ], mw.messages.get( 'jquerymsg-italics-msg' ), 'Simple italics unchanged' ); @@ -1048,6 +1048,13 @@ 'Self-closing tags don\'t cause a parse error' ); + mw.messages.set( 'jquerymsg-asciialphabetliteral-regression', '>>="dir">asd' ); + assert.htmlEqual( + formatParse( 'jquerymsg-asciialphabetliteral-regression' ), + '>>="dir">asd', + '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' );