summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Maps/tests/Unit/Elements/ImageOverlayTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Maps/tests/Unit/Elements/ImageOverlayTest.php')
-rw-r--r--www/wiki/extensions/Maps/tests/Unit/Elements/ImageOverlayTest.php52
1 files changed, 52 insertions, 0 deletions
diff --git a/www/wiki/extensions/Maps/tests/Unit/Elements/ImageOverlayTest.php b/www/wiki/extensions/Maps/tests/Unit/Elements/ImageOverlayTest.php
new file mode 100644
index 00000000..21c43c31
--- /dev/null
+++ b/www/wiki/extensions/Maps/tests/Unit/Elements/ImageOverlayTest.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace Maps\Tests\Unit\Elements;
+
+use DataValues\Geo\Values\LatLongValue;
+use Jeroen\SimpleGeocoder\Geocoders\Decorators\CoordinateFriendlyGeocoder;
+use Jeroen\SimpleGeocoder\Geocoders\NullGeocoder;
+use Maps\Elements\ImageOverlay;
+use Maps\Presentation\WikitextParsers\ImageOverlayParser;
+use PHPUnit\Framework\TestCase;
+
+/**
+ * @covers \Maps\Elements\ImageOverlay
+ *
+ * @licence GNU GPL v2+
+ * @author Jeroen De Dauw < jeroendedauw@gmail.com >
+ */
+class ImageOverlayTest extends TestCase {
+
+ public function testGetImage() {
+ $imageOverlay = new ImageOverlay(
+ new LatLongValue( 4, 2 ),
+ new LatLongValue( -4, -2 ),
+ 'Foo.png'
+ );
+
+ $this->assertSame( 'Foo.png', $imageOverlay->getImage() );
+ }
+
+ public function testGivenMetaData_overlayHasProvidedMetaData() {
+ $parser = new ImageOverlayParser( new CoordinateFriendlyGeocoder( new NullGeocoder() ) );
+
+ $overlay = $parser->parse( "1,2:3,4:https://such.an/image.png~Semantic MediaWiki~World domination imminent!~https://such.link" );
+
+ $this->assertSame( 'https://such.an/image.png', $overlay->getImage() );
+ $this->assertSame( 'Semantic MediaWiki', $overlay->getTitle() );
+ $this->assertSame( 'World domination imminent!', $overlay->getText() );
+ $this->assertSame( 'https://such.link', $overlay->getLink() );
+ }
+
+ public function testGivenLinkWithPrefix_linkIsParsedAndPrefixIsRemoved() {
+ $parser = new ImageOverlayParser( new CoordinateFriendlyGeocoder( new NullGeocoder() ) );
+
+ $overlay = $parser->parse( "1,2:3,4:https://such.an/image.png~Semantic MediaWiki~World domination imminent!~link:https://such.link" );
+
+ $this->assertSame( 'https://such.link', $overlay->getLink() );
+ }
+
+}
+
+
+