Arlolra has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/323188

Change subject: Expect empty captions
......................................................................

Expect empty captions

 * 1105f5d2 missed the case where no attr value is provided.

 * This cause the gallery to throw when an empty caption was set,
   expecting it to have srcOffsets.  As in,

     <gallery caption=>

     or

     <gallery caption>

 * Seen on a few pages in rt,

     dewiki:Bichigiu
     enwiki:High_Laver
     Gedecktes_Brüggli
     itwiki:Năsăud
     jawiki:栃木放送

Change-Id: I51e54de4f37ebc9d979e6cea83c3967d935e135c
---
M lib/ext/Gallery/index.js
M lib/wt2html/pegTokenizer.pegjs
2 files changed, 3 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/88/323188/1

diff --git a/lib/ext/Gallery/index.js b/lib/ext/Gallery/index.js
index bad0d76..c793b33 100644
--- a/lib/ext/Gallery/index.js
+++ b/lib/ext/Gallery/index.js
@@ -46,7 +46,7 @@
        var caption = options.find(function(kv) {
                return kv.k === 'caption';
        });
-       if (caption === undefined) { return null; }
+       if (caption === undefined || !caption.v) { return null; }
        return Util.promiseToProcessContent(
                data.manager.env,
                data.manager.frame,
diff --git a/lib/wt2html/pegTokenizer.pegjs b/lib/wt2html/pegTokenizer.pegjs
index 7b9a197..60d6e4f 100644
--- a/lib/wt2html/pegTokenizer.pegjs
+++ b/lib/wt2html/pegTokenizer.pegjs
@@ -1227,7 +1227,7 @@
         res = new KV(name, vd.value, [namePos0, namePos, vd.srcOffsets[0], 
vd.srcOffsets[1]]);
         res.vsrc = input.substring(vd.srcOffsets[0], vd.srcOffsets[1]);
     } else {
-        res = new KV(name, '');
+        res = new KV(name, '', [namePos0, namePos, namePos, namePos]);
     }
     if (Array.isArray(name)) {
         res.ksrc = input.substring(namePos0, namePos);
@@ -1253,7 +1253,7 @@
         res = new KV(name, vd.value, [namePos0, namePos, vd.srcOffsets[0], 
vd.srcOffsets[1]]);
         res.vsrc = input.substring(vd.srcOffsets[0], vd.srcOffsets[1]);
     } else {
-        res = new KV(name, '');
+        res = new KV(name, '', [namePos0, namePos, namePos, namePos]);
     }
     if (Array.isArray(name)) {
         res.ksrc = input.substring(namePos0, namePos);

-- 
To view, visit https://gerrit.wikimedia.org/r/323188
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I51e54de4f37ebc9d979e6cea83c3967d935e135c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <abrea...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to