From b41981d392e99e00f7753636c63f5026a5ace19f Mon Sep 17 00:00:00 2001 From: Dan Collins Date: Wed, 23 May 2012 15:32:29 -0400 Subject: [PATCH] (bug 21660) "Pipe trick" full width commas (with test!) Pre-save transform now accepts full width commas, and a parser test is added, which passes. Originally done by Conrad Irwin, branched out by Tim in r62689 along with a bunch of other stuff, and then it sat in bugzilla for a few months. Change-Id: I3302e43bab423835cdaee6bdcfc0252a206490fc --- includes/parser/Parser.php | 2 +- tests/parser/parserTests.txt | 28 ++++++++++++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/includes/parser/Parser.php b/includes/parser/Parser.php index 35f187f4d8..282cf475ea 100644 --- a/includes/parser/Parser.php +++ b/includes/parser/Parser.php @@ -4401,7 +4401,7 @@ class Parser { $p1 = "/\[\[(:?$nc+:|:|)($tc+?)( ?\\($tc+\\))\\|]]/"; # [[ns:page (context)|]] $p4 = "/\[\[(:?$nc+:|:|)($tc+?)( ?($tc+))\\|]]/"; # [[ns:page(context)|]] - $p3 = "/\[\[(:?$nc+:|:|)($tc+?)( ?\\($tc+\\)|)(, $tc+|)\\|]]/"; # [[ns:page (context), context|]] + $p3 = "/\[\[(:?$nc+:|:|)($tc+?)( ?\\($tc+\\)|)((?:, |,)$tc+|)\\|]]/"; # [[ns:page (context), context|]] $p2 = "/\[\[\\|($tc+)]]/"; # [[|page]] # try $p1 first, to turn "[[A, B (C)|]]" into "[[A, B (C)|A, B]]" diff --git a/tests/parser/parserTests.txt b/tests/parser/parserTests.txt index 3a8a778a70..a74bd71e53 100644 --- a/tests/parser/parserTests.txt +++ b/tests/parser/parserTests.txt @@ -3514,15 +3514,15 @@ pst [[Bar:Article(context)|]] [[:Bar:Article(context)|]] [[|Article(context)]] -[[Bar:X (Y) Z|]] -[[:Bar:X (Y) Z|]] +[[Bar:X(Y)Z|]] +[[:Bar:X(Y)Z|]] !! result [[Article(context)|Article]] [[Bar:Article(context)|Article]] [[:Bar:Article(context)|Article]] [[Article(context)]] -[[Bar:X (Y) Z|X (Y) Z]] -[[:Bar:X (Y) Z|X (Y) Z]] +[[Bar:X(Y)Z|X(Y)Z]] +[[:Bar:X(Y)Z|X(Y)Z]] !! end !! test @@ -3565,6 +3565,26 @@ pst [[:Bar:X(Y)Z|X(Y)Z]] !! end +!! test +pre-save transform: context links ("pipe trick") with commas (bug 21660) +!! options +pst +!! input +[[Article (context), context|]] +[[Article (context),context|]] +[[Bar:Article (context), context|]] +[[Bar:Article (context),context|]] +[[:Bar:Article (context), context|]] +[[:Bar:Article (context),context|]] +!! result +[[Article (context), context|Article]] +[[Article (context),context|Article]] +[[Bar:Article (context), context|Article]] +[[Bar:Article (context),context|Article]] +[[:Bar:Article (context), context|Article]] +[[:Bar:Article (context),context|Article]] +!! end + !! test pre-save transform: trim trailing empty lines !! options -- 2.20.1