| Current File : /home/jvzmxxx/wiki/extensions/Kartographer/tests/parserTests.txt |
!! test
<maplink> - custom link text
!! input
<maplink latitude=10 longitude=20 zoom=13 text='Foo & bar'/>
!! result
<p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20">Foo & bar</a>
</p>
!! end
!! test
<maplink> - HTML sanitization
!! input
<maplink latitude=10 longitude=20 zoom=13 text='<&'/>
!! result
<p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20"><&</a>
</p>
!! end
!! test
<maplink> - counters and markers
!! input
<maplink latitude=10 longitude=20 zoom=13 text='Foo'>
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-number"
}
}
</maplink>
<maplink latitude=10 longitude=20 zoom=13>
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-number"
}
}
</maplink>
<maplink latitude=10 longitude=20 zoom=13>
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-letter"
}
}
</maplink>
<maplink latitude=10 longitude=20 zoom=13 mapstyle=osm>
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-letter"
}
}
</maplink>
!! result
<p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20" data-overlays="["_b34053f88dea58fe70a7da09c558f792394f6e11"]">Foo</a>
</p><p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20" data-overlays="["_2e4133dc429eb3c3abf4e45916c073e841f9d193"]">2</a>
</p><p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20" data-overlays="["_dd3c7bae539f7c3747c64d043c97e1a8834fbc8f"]">A</a>
</p><p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm" data-zoom="13" data-lat="10" data-lon="20" data-overlays="["_8ce73f7395e427bd6f462824717c0a214b3ca564"]">B</a>
</p>
!! end
!! test
<maplink> - autolabelling with coordinates
!! input
<maplink latitude=10 longitude=20 zoom=13 />
!! result
<p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20">10°0′0″N 20°0′0″E</a>
</p>
!! end
!! test
<mapframe>
!! input
<mapframe latitude=10 longitude=20 zoom=13 width=640 height=480/>
<mapframe latitude=10 longitude=20 zoom=13 width=640 height=480 align=left/>
<mapframe latitude=10 longitude=20 zoom=13 width=640 height=480 align=center/>
<mapframe latitude=10 longitude=20 zoom=13 width=50% height=480 align=right/>
!! result
<div class="mw-kartographer mw-kartographer-interactive floatright" mw-data="interface" style="width:640px; height:480px;" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20"></div>
<div class="mw-kartographer mw-kartographer-interactive floatleft" mw-data="interface" style="width:640px; height:480px;" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20"></div>
<div class="mw-kartographer mw-kartographer-interactive center" mw-data="interface" style="width:640px; height:480px;" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20"></div>
<div class="mw-kartographer mw-kartographer-interactive floatright" mw-data="interface" style="width:50%; height:480px;" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20"></div>
!! end
!! test
Error messages
!! input
<maplink latitude=10 longitude=fail text=Derp>>Derp goes here</maplink>
<mapframe latitude=10 longitude=20 zoom=13 width=" 640 " height=480 align=crap mapstyle=derp />
<mapframe latitude=10 longitude=20 zoom=13 width=% height=480/>
<mapframe latitude=10 longitude=20 zoom=13 width=0% height=480/>
<mapframe latitude=10 longitude=20 zoom=13 width=05% height=480/>
<mapframe latitude=10 longitude=20 zoom=13 width=300% height=480/>
!! result
<div class="mw-kartographer mw-kartographer-error"><p><maplink> problems:
</p>
<ul><li> Syntax error</li>
<li> Attribute "longitude" has an invalid value</li>
<li> Attribute "zoom" is missing</li></ul>
</div>
<div class="mw-kartographer mw-kartographer-error"><p><mapframe> problems:
</p>
<ul><li> Attribute "mapstyle" has an invalid value</li>
<li> Attribute "align" has an invalid value</li></ul>
</div>
<div class="mw-kartographer mw-kartographer-error"><mapframe>: Attribute "width" has an invalid value</div>
<div class="mw-kartographer mw-kartographer-error"><mapframe>: Attribute "width" has an invalid value</div>
<div class="mw-kartographer mw-kartographer-error"><mapframe>: Attribute "width" has an invalid value</div>
<div class="mw-kartographer mw-kartographer-error"><mapframe>: Attribute "width" has an invalid value</div>
!! end
!! test
CSS sanitization
!! input
<maplink latitude=10 longitude=20 zoom=10 style="color: red;" text="<span style='color: red;'>foo</span>"/>
<maplink latitude=10 longitude=20 zoom=10 style="foo: bar; background-image: url(https://example.com);" text="<span style='foo: bar; background-image: url(https://example.com);'>foo</span>"/>
!! result
<p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" style="color: red;" data-style="osm-intl" data-zoom="10" data-lat="10" data-lon="20"><span style="color: red;">foo</span></a>
<a class="mw-kartographer mw-kartographer-link" mw-data="interface" style="/* insecure input */" data-style="osm-intl" data-zoom="10" data-lat="10" data-lon="20"><span style="/* insecure input */">foo</span></a>
</p>
!! end
!! test
Marker styles
!! input
<maplink latitude=10 longitude=20 zoom=13>[
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [1, 2]
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-letter",
"marker-color": "#abc"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-number",
"marker-color": "#DDEEFF"
}
}
]</maplink>
<maplink latitude=10 longitude=20 zoom=13 style="border: yellow;">
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-number",
"marker-color": "fff"
}
}
</maplink>
<maplink latitude=10 longitude=20 zoom=13>
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.3988, 37.8013]
},
"properties": {
"marker-symbol": "-number",
"marker-color": "something bad"
}
}
</maplink>
!! result
<p><a class="mw-kartographer mw-kartographer-link mw-kartographer-autostyled" mw-data="interface" style="background: #abc;" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20" data-overlays="["_19a72be79a2653cf0eeccdba3776a568873e8865"]">A</a>
</p><p><a class="mw-kartographer mw-kartographer-link mw-kartographer-autostyled" mw-data="interface" style="background: #fff; border: yellow;" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20" data-overlays="["_348b58ab5ba1db004b387561db7d945cdf90cea0"]">2</a>
</p><p><a class="mw-kartographer mw-kartographer-link" mw-data="interface" data-style="osm-intl" data-zoom="13" data-lat="10" data-lon="20" data-overlays="["_737b28c57ddefefdb1da5a25bc09425dd124b6b6"]">3</a>
</p>
!! end