jenkins-bot has submitted this change and it was merged.

Change subject: Fix empty groups params
......................................................................


Fix empty groups params

Bug: T149145
Change-Id: Iff04ab436cb208bb6dea53a4478ba52258f7ff64
---
M includes/Tag/MapFrame.php
M tests/parserTests.txt
2 files changed, 24 insertions(+), 22 deletions(-)

Approvals:
  Hashar: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/Tag/MapFrame.php b/includes/Tag/MapFrame.php
index ced690c..ee368fd 100644
--- a/includes/Tag/MapFrame.php
+++ b/includes/Tag/MapFrame.php
@@ -142,12 +142,12 @@
                                        $staticLat = 30;
                                        $staticLon = 0;
                                }
+
                                if ( $this->showGroups ) {
                                        $attrs['data-overlays'] = 
FormatJson::encode( $this->showGroups, false,
                                                FormatJson::ALL_OK );
+                                       $this->state->addInteractiveGroups( 
$this->showGroups );
                                }
-
-                               $this->state->addInteractiveGroups( 
$this->showGroups );
                                break;
                        default:
                                throw new UnexpectedValueException(
@@ -159,11 +159,13 @@
                        $containerClass .= ' mw-kartographer-full';
                }
 
-               $title = urlencode( 
$this->parser->getTitle()->getPrefixedText() );
-               $groupList = implode( ',', $this->showGroups );
-
                $bgUrl = 
"{$wgKartographerMapServer}/img/{$this->mapStyle},{$staticZoom},{$staticLat},{$staticLon},{$staticWidth}x{$this->height}.png";
-               $bgUrl .= 
"?domain={$wgServerName}&title={$title}&groups={$groupList}";
+               if ( $this->showGroups ) {
+                       $title = urlencode( 
$this->parser->getTitle()->getPrefixedText() );
+                       $groupList = urlencode( implode( ',', $this->showGroups 
) );
+                       $bgUrl .= 
"?domain={$wgServerName}&title={$title}&groups={$groupList}";
+               }
+
                $attrs['style'] = "background-image: url({$bgUrl});";
 
                if ( !$framed ) {
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index a1890bb..26588a5 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -125,18 +125,18 @@
 <mapframe latitude=10 longitude=20 zoom=13 width=full height=480 frameless />
 
 !! result
-<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-container thumb tleft"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-container thumb center"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 300px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="50%" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,300x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-container mw-kartographer-full thumb tright"><div 
class="thumbinner" style="width: 100%;"><div class="mw-kartographer-map" 
mw-data="interface" data-style="osm-intl" data-width="100%" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-container mw-kartographer-full thumb tright"><div 
class="thumbinner" style="width: 100%;"><div class="mw-kartographer-map" 
mw-data="interface" data-style="osm-intl" data-width="full" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-map mw-kartographer-container floatleft" 
mw-data="interface" data-style="osm-intl" data-width="640" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 width: 640px; height: 480px;"></div>
-<div class="mw-kartographer-map mw-kartographer-container center" 
mw-data="interface" data-style="osm-intl" data-width="640" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 width: 640px; height: 480px;"></div>
-<div class="mw-kartographer-map mw-kartographer-container floatright" 
mw-data="interface" data-style="osm-intl" data-width="50%" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,300x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 width: 300px; height: 480px;"></div>
-<div class="mw-kartographer-map mw-kartographer-container mw-kartographer-full 
floatright" mw-data="interface" data-style="osm-intl" data-width="100%" 
data-height="480" data-zoom="13" data-lat="10" data-lon="20" 
style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 width: 100%; height: 480px;"></div>
-<div class="mw-kartographer-map mw-kartographer-container mw-kartographer-full 
floatright" mw-data="interface" data-style="osm-intl" data-width="full" 
data-height="480" data-zoom="13" data-lat="10" data-lon="20" 
style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 width: 100%; height: 480px;"></div>
+<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png); height: 
480px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-container thumb tleft"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png); height: 
480px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-container thumb center"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png); height: 
480px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 300px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="50%" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,300x480.png); height: 
480px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-container mw-kartographer-full thumb tright"><div 
class="thumbinner" style="width: 100%;"><div class="mw-kartographer-map" 
mw-data="interface" data-style="osm-intl" data-width="100%" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png); height: 
480px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-container mw-kartographer-full thumb tright"><div 
class="thumbinner" style="width: 100%;"><div class="mw-kartographer-map" 
mw-data="interface" data-style="osm-intl" data-width="full" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png); height: 
480px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png); height: 
480px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-map mw-kartographer-container floatleft" 
mw-data="interface" data-style="osm-intl" data-width="640" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png); width: 
640px; height: 480px;"></div>
+<div class="mw-kartographer-map mw-kartographer-container center" 
mw-data="interface" data-style="osm-intl" data-width="640" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png); width: 
640px; height: 480px;"></div>
+<div class="mw-kartographer-map mw-kartographer-container floatright" 
mw-data="interface" data-style="osm-intl" data-width="50%" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,300x480.png); width: 
300px; height: 480px;"></div>
+<div class="mw-kartographer-map mw-kartographer-container mw-kartographer-full 
floatright" mw-data="interface" data-style="osm-intl" data-width="100%" 
data-height="480" data-zoom="13" data-lat="10" data-lon="20" 
style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png); width: 100%; 
height: 480px;"></div>
+<div class="mw-kartographer-map mw-kartographer-container mw-kartographer-full 
floatright" mw-data="interface" data-style="osm-intl" data-width="full" 
data-height="480" data-zoom="13" data-lat="10" data-lon="20" 
style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png); width: 100%; 
height: 480px;"></div>
 
 !! end
 
@@ -150,12 +150,12 @@
 <mapframe latitude=10 longitude=20 zoom=13 width=100% height=480 text="Foo is 
a [https://example.com bar]"" />
 <mapframe latitude=10 longitude=20 zoom=13 width=full height=480 
text="<div>Muhaha</div>" />
 !! result
-<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption">Foo is a 
<b>bar</b></div></div></div>
+<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 640px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="640" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,640x480.png); height: 
480px;"></div><div class="thumbcaption">Foo is a <b>bar</b></div></div></div>
 <p>&lt;mapframe latitude=10 longitude=20 zoom=13 width=640 height=480 
align=left text="Foo is a <b>bar</b>" /&gt;
 &lt;mapframe latitude=10 longitude=20 zoom=13 width=640 height=480 
align=center text="Foo is a &lt;script&gt;" /&gt;
 </p>
-<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 300px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="50%" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,300x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption">Frameless gets cynically 
ignored here</div></div></div>
-<div class="mw-kartographer-container mw-kartographer-full thumb tright"><div 
class="thumbinner" style="width: 100%;"><div class="mw-kartographer-map" 
mw-data="interface" data-style="osm-intl" data-width="100%" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png?domain=example.org&amp;title=Parser+test&amp;groups=);
 height: 480px;"></div><div class="thumbcaption">"Foo</div></div></div>
+<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 300px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="50%" data-height="480" data-zoom="13" 
data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,300x480.png); height: 
480px;"></div><div class="thumbcaption">Frameless gets cynically ignored 
here</div></div></div>
+<div class="mw-kartographer-container mw-kartographer-full thumb tright"><div 
class="thumbinner" style="width: 100%;"><div class="mw-kartographer-map" 
mw-data="interface" data-style="osm-intl" data-width="100%" data-height="480" 
data-zoom="13" data-lat="10" data-lon="20" style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,13,10,20,800x480.png); height: 
480px;"></div><div class="thumbcaption">"Foo</div></div></div>
 &lt;mapframe latitude=10 longitude=20 zoom=13 width=full height=480 
text="<div>Muhaha</div>" /&gt;
 
 !! end
@@ -322,7 +322,7 @@
 <a class="mw-kartographer-maplink" mw-data="interface" data-style="osm-intl" 
href="/wiki/Special:Map/0/0/0" data-zoom="0" data-lat="0" data-lon="0" 
data-overlays="[&quot;ponies&quot;,&quot;horses&quot;]">0°0′0″N 0°0′0″E</a>
 </p>
 <div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 300px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="300" data-height="300" data-zoom="0" 
data-lat="0" data-lon="0" data-overlays="[&quot;ponies&quot;]" 
style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,0,0,0,300x300.png?domain=example.org&amp;title=Parser+test&amp;groups=ponies);
 height: 300px;"></div><div class="thumbcaption"></div></div></div>
-<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 300px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="300" data-height="300" data-zoom="0" 
data-lat="0" data-lon="0" 
data-overlays="[&quot;ponies&quot;,&quot;horses&quot;]" 
style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,0,0,0,300x300.png?domain=example.org&amp;title=Parser+test&amp;groups=ponies,horses);
 height: 300px;"></div><div class="thumbcaption"></div></div></div>
+<div class="mw-kartographer-container thumb tright"><div class="thumbinner" 
style="width: 300px;"><div class="mw-kartographer-map" mw-data="interface" 
data-style="osm-intl" data-width="300" data-height="300" data-zoom="0" 
data-lat="0" data-lon="0" 
data-overlays="[&quot;ponies&quot;,&quot;horses&quot;]" 
style="background-image: 
url(https://maps.wikimedia.org/img/osm-intl,0,0,0,300x300.png?domain=example.org&amp;title=Parser+test&amp;groups=ponies%2Chorses);
 height: 300px;"></div><div class="thumbcaption"></div></div></div>
 
 !! end
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Iff04ab436cb208bb6dea53a4478ba52258f7ff64
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Kartographer
Gerrit-Branch: wmf/1.28.0-wmf.23
Gerrit-Owner: Yurik <yu...@wikimedia.org>
Gerrit-Reviewer: Hashar <has...@free.fr>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to