Explorar o código

updated tests

smiley %!s(int64=9) %!d(string=hai) anos
pai
achega
e1d9e951a4

+ 5 - 37
tests/Output/ImageTest.php

@@ -15,40 +15,16 @@ use chillerlan\QRCode\Output\QRImage;
 use chillerlan\QRCode\Output\QRImageOptions;
 use chillerlan\QRCode\QRCode;
 
-class ImageTest extends \PHPUnit_Framework_TestCase{
+class ImageTest extends OutputTestAbstract{
 
-	/**
-	 * @var \chillerlan\QRCode\Output\QRImageOptions
-	 */
-	protected $options;
-
-
-	/**
-	 * @var \chillerlan\QRCode\QRCode
-	 */
-	protected $QRCode;
-
-	protected function setUp(){
-		$this->options = new QRImageOptions;
-	}
+	protected $outputInterfaceClass = QRImage::class;
+	protected $outputOptionsClass   = QRImageOptions::class;
 
-	public function testOptionsInstance(){
-		$this->assertInstanceOf(QRImageOptions::class, $this->options);
+	public function testOptions(){
 		$this->assertEquals(QRCode::OUTPUT_IMAGE_PNG, $this->options->type);
 		$this->assertEquals(true, $this->options->base64);
 	}
 
-	public function testImageInstance(){
-		$this->assertInstanceOf(QRImage::class, new QRImage);
-	}
-
-	public function testImageInstanceWithOptionsOverride(){
-		$this->options->type = 'foobar';
-		$this->options->pngCompression = 42;
-		$this->options->jpegQuality = 'OVER 9000!!!';
-		$this->assertInstanceOf(QRImage::class, new QRImage($this->options));
-	}
-
 	public function imageDataProvider(){
 		return [
 			[QRCode::OUTPUT_IMAGE_PNG, 'foobar', 'img1.png.uri'],
@@ -65,19 +41,11 @@ class ImageTest extends \PHPUnit_Framework_TestCase{
 	 */
 	public function testImageOutput($type, $data, $expected){
 		$this->options->type = $type;
-		$output = (new QRCode($data, new QRImage($this->options)))->output();
+		$output = (new QRCode($data, new $this->outputInterfaceClass($this->options)))->output();
 		// jpeg test is causing trouble
 		if($type !== QRCode::OUTPUT_IMAGE_JPG){
 			$this->assertEquals(file_get_contents(__DIR__.'/image/'.$expected), $output);
 		}
 	}
 
-	/**
-	 * @expectedException \chillerlan\QRCode\Output\QRCodeOutputException
-	 * @expectedExceptionMessage Invalid matrix!
-	 */
-	public function testSetMatrixException(){
-		(new QRImage)->setMatrix([]);
-	}
-
 }

+ 51 - 0
tests/Output/MarkupTest.php

@@ -0,0 +1,51 @@
+<?php
+/**
+ *
+ * @filesource   MarkupTest.php
+ * @created      17.12.2016
+ * @package      chillerlan\QRCodeTest\Output
+ * @author       Smiley <smiley@chillerlan.net>
+ * @copyright    2016 Smiley
+ * @license      MIT
+ */
+
+namespace chillerlan\QRCodeTest\Output;
+
+use chillerlan\QRCode\Output\QRMarkup;
+use chillerlan\QRCode\Output\QRMarkupOptions;
+use chillerlan\QRCode\QRCode;
+
+/**
+ * Class MarkupTest
+ */
+class MarkupTest extends OutputTestAbstract{
+
+	protected $outputInterfaceClass = QRMarkup::class;
+	protected $outputOptionsClass   = QRMarkupOptions::class;
+
+	public function testOptions(){
+		$this->assertEquals(QRCode::OUTPUT_MARKUP_SVG, $this->options->type);
+	}
+
+	public function markupDataProvider(){
+		return [
+			[QRCode::OUTPUT_MARKUP_HTML, true,  'foobar', 'str1.html'],
+			[QRCode::OUTPUT_MARKUP_HTML, false, 'foobar', 'str2.html'],
+			[QRCode::OUTPUT_MARKUP_HTML, true,  'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str3.html'],
+			[QRCode::OUTPUT_MARKUP_HTML, false, 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str4.html'],
+			[QRCode::OUTPUT_MARKUP_SVG , null,  'foobar', 'str1.svg'],
+			[QRCode::OUTPUT_MARKUP_SVG , null,  'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str2.svg'],
+		];
+	}
+
+	/**
+	 * @dataProvider markupDataProvider
+	 */
+	public function testMarkupOutput($type, $omitEndTag, $data, $expected){
+		$this->options->type = $type;
+		$this->options->htmlOmitEndTag = $omitEndTag;
+		$this->options->cssClass = 'test';
+		$this->assertEquals(file_get_contents(__DIR__.'/markup/'.$expected), (new QRCode($data, new $this->outputInterfaceClass($this->options)))->output());
+	}
+
+}

+ 54 - 0
tests/Output/OutputTestAbstract.php

@@ -0,0 +1,54 @@
+<?php
+/**
+ *
+ * @filesource   OutputTestAbstract.php
+ * @created      17.12.2016
+ * @package      chillerlan\QRCodeTest\Output
+ * @author       Smiley <smiley@chillerlan.net>
+ * @copyright    2016 Smiley
+ * @license      MIT
+ */
+
+namespace chillerlan\QRCodeTest\Output;
+
+/**
+ * Class OutputTestAbstract
+ */
+abstract class OutputTestAbstract extends \PHPUnit_Framework_TestCase{
+
+	protected $outputInterfaceClass;
+	protected $outputOptionsClass;
+
+	protected $options;
+	protected $outputInterface;
+
+	protected function setUp(){
+		$this->options         = new $this->outputOptionsClass;
+		$this->outputInterface = new $this->outputInterfaceClass($this->options);
+	}
+
+	public function testInstance(){
+		$this->assertInstanceOf($this->outputInterfaceClass, $this->outputInterface);
+		$this->assertInstanceOf($this->outputOptionsClass, $this->options);
+	}
+
+	/**
+	 * @expectedException \chillerlan\QRCode\Output\QRCodeOutputException
+	 * @expectedExceptionMessage Invalid output type!
+	 */
+	public function testOutputTypeException(){
+		$this->options->type = 'foo';
+		new $this->outputInterfaceClass($this->options);
+	}
+
+	/**
+	 * @expectedException \chillerlan\QRCode\Output\QRCodeOutputException
+	 * @expectedExceptionMessage Invalid matrix!
+	 */
+	public function testSetMatrixException(){
+		/** @var \chillerlan\QRCode\Output\QROutputInterface  $outputInterface */
+		$outputInterface = new $this->outputInterfaceClass;
+		$outputInterface->setMatrix([]);
+	}
+
+}

+ 11 - 40
tests/Output/StringTest.php

@@ -15,59 +15,30 @@ use chillerlan\QRCode\Output\QRString;
 use chillerlan\QRCode\Output\QRStringOptions;
 use chillerlan\QRCode\QRCode;
 
-class StringTest extends \PHPUnit_Framework_TestCase{
+class StringTest extends OutputTestAbstract{
 
-	/**
-	 * @var \chillerlan\QRCode\Output\QRStringOptions
-	 */
-	protected $options;
-
-	protected function setUp(){
-		$this->options = new QRStringOptions;
-	}
+	protected $outputInterfaceClass = QRString::class;
+	protected $outputOptionsClass   = QRStringOptions::class;
 
-	public function testOptionsInstance(){
-		$this->assertInstanceOf(QRStringOptions::class, $this->options);
-		$this->assertEquals(QRCode::OUTPUT_STRING_HTML, $this->options->type);
+	public function testOptions(){
+		$this->assertEquals(QRCode::OUTPUT_STRING_JSON, $this->options->type);
 	}
 
 	public function stringDataProvider(){
 		return [
-			[QRCode::OUTPUT_STRING_HTML, true,  'foobar', 'str1.html'],
-			[QRCode::OUTPUT_STRING_HTML, false, 'foobar', 'str2.html'],
-			[QRCode::OUTPUT_STRING_HTML, true,  'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str3.html'],
-			[QRCode::OUTPUT_STRING_HTML, false, 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str4.html'],
-			[QRCode::OUTPUT_STRING_JSON, false, 'foobar', 'str1.json'],
-			[QRCode::OUTPUT_STRING_JSON, false, 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str2.json'],
-			[QRCode::OUTPUT_STRING_TEXT, false, 'foobar', 'str1.txt'],
-			[QRCode::OUTPUT_STRING_TEXT, false, 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str2.txt'],
+			[QRCode::OUTPUT_STRING_JSON, 'foobar', 'str1.json'],
+			[QRCode::OUTPUT_STRING_JSON, 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str2.json'],
+			[QRCode::OUTPUT_STRING_TEXT, 'foobar', 'str1.txt'],
+			[QRCode::OUTPUT_STRING_TEXT, 'otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', 'str2.txt'],
 		];
 	}
 
 	/**
 	 * @dataProvider stringDataProvider
 	 */
-	public function testStringOutput($type, $omitEndTag, $data, $expected){
+	public function testStringOutput($type, $data, $expected){
 		$this->options->type = $type;
-		$this->options->htmlOmitEndTag = $omitEndTag;
-		$this->assertEquals(file_get_contents(__DIR__.'/string/'.$expected), (new QRCode($data, new QRString($this->options)))->output());
-	}
-
-	/**
-	 * @expectedException \chillerlan\QRCode\Output\QRCodeOutputException
-	 * @expectedExceptionMessage Invalid string output type!
-	 */
-	public function testOutputTypeException(){
-		$this->options->type = 'foo';
-		new QRString($this->options);
-	}
-
-	/**
-	 * @expectedException \chillerlan\QRCode\Output\QRCodeOutputException
-	 * @expectedExceptionMessage Invalid matrix!
-	 */
-	public function testSetMatrixException(){
-		(new QRString)->setMatrix([]);
+		$this->assertEquals(file_get_contents(__DIR__.'/string/'.$expected), (new QRCode($data, new $this->outputInterfaceClass($this->options)))->output());
 	}
 
 }

+ 0 - 0
tests/Output/string/str1.html → tests/Output/markup/str1.html


+ 124 - 0
tests/Output/markup/str1.svg

@@ -0,0 +1,124 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="115" height="115" viewBox="0 0 115 115" style="background-color:#fff">
+<defs><style>.test{fill:#000} rect{shape-rendering:crispEdges}</style></defs>
+<rect x="5" y="5" width="35" height="5" class="test" />
+<rect x="55" y="5" width="15" height="5" class="test" />
+<rect x="75" y="5" width="35" height="5" class="test" />
+<rect x="5" y="10" width="5" height="5" class="test" />
+<rect x="35" y="10" width="5" height="5" class="test" />
+<rect x="45" y="10" width="15" height="5" class="test" />
+<rect x="75" y="10" width="5" height="5" class="test" />
+<rect x="105" y="10" width="5" height="5" class="test" />
+<rect x="5" y="15" width="5" height="5" class="test" />
+<rect x="15" y="15" width="15" height="5" class="test" />
+<rect x="35" y="15" width="5" height="5" class="test" />
+<rect x="50" y="15" width="5" height="5" class="test" />
+<rect x="65" y="15" width="5" height="5" class="test" />
+<rect x="75" y="15" width="5" height="5" class="test" />
+<rect x="85" y="15" width="15" height="5" class="test" />
+<rect x="105" y="15" width="5" height="5" class="test" />
+<rect x="5" y="20" width="5" height="5" class="test" />
+<rect x="15" y="20" width="15" height="5" class="test" />
+<rect x="35" y="20" width="5" height="5" class="test" />
+<rect x="50" y="20" width="15" height="5" class="test" />
+<rect x="75" y="20" width="5" height="5" class="test" />
+<rect x="85" y="20" width="15" height="5" class="test" />
+<rect x="105" y="20" width="5" height="5" class="test" />
+<rect x="5" y="25" width="5" height="5" class="test" />
+<rect x="15" y="25" width="15" height="5" class="test" />
+<rect x="35" y="25" width="5" height="5" class="test" />
+<rect x="45" y="25" width="10" height="5" class="test" />
+<rect x="60" y="25" width="10" height="5" class="test" />
+<rect x="75" y="25" width="5" height="5" class="test" />
+<rect x="85" y="25" width="15" height="5" class="test" />
+<rect x="105" y="25" width="5" height="5" class="test" />
+<rect x="5" y="30" width="5" height="5" class="test" />
+<rect x="35" y="30" width="5" height="5" class="test" />
+<rect x="50" y="30" width="5" height="5" class="test" />
+<rect x="60" y="30" width="5" height="5" class="test" />
+<rect x="75" y="30" width="5" height="5" class="test" />
+<rect x="105" y="30" width="5" height="5" class="test" />
+<rect x="5" y="35" width="35" height="5" class="test" />
+<rect x="45" y="35" width="5" height="5" class="test" />
+<rect x="55" y="35" width="5" height="5" class="test" />
+<rect x="65" y="35" width="5" height="5" class="test" />
+<rect x="75" y="35" width="35" height="5" class="test" />
+<rect x="50" y="40" width="10" height="5" class="test" />
+<rect x="5" y="45" width="5" height="5" class="test" />
+<rect x="15" y="45" width="5" height="5" class="test" />
+<rect x="25" y="45" width="5" height="5" class="test" />
+<rect x="35" y="45" width="5" height="5" class="test" />
+<rect x="50" y="45" width="5" height="5" class="test" />
+<rect x="65" y="45" width="5" height="5" class="test" />
+<rect x="85" y="45" width="5" height="5" class="test" />
+<rect x="100" y="45" width="5" height="5" class="test" />
+<rect x="5" y="50" width="25" height="5" class="test" />
+<rect x="50" y="50" width="15" height="5" class="test" />
+<rect x="70" y="50" width="5" height="5" class="test" />
+<rect x="80" y="50" width="5" height="5" class="test" />
+<rect x="95" y="50" width="15" height="5" class="test" />
+<rect x="5" y="55" width="10" height="5" class="test" />
+<rect x="20" y="55" width="25" height="5" class="test" />
+<rect x="55" y="55" width="10" height="5" class="test" />
+<rect x="70" y="55" width="15" height="5" class="test" />
+<rect x="90" y="55" width="5" height="5" class="test" />
+<rect x="100" y="55" width="10" height="5" class="test" />
+<rect x="5" y="60" width="10" height="5" class="test" />
+<rect x="25" y="60" width="10" height="5" class="test" />
+<rect x="45" y="60" width="5" height="5" class="test" />
+<rect x="55" y="60" width="20" height="5" class="test" />
+<rect x="80" y="60" width="10" height="5" class="test" />
+<rect x="100" y="60" width="10" height="5" class="test" />
+<rect x="5" y="65" width="5" height="5" class="test" />
+<rect x="15" y="65" width="5" height="5" class="test" />
+<rect x="30" y="65" width="15" height="5" class="test" />
+<rect x="50" y="65" width="5" height="5" class="test" />
+<rect x="60" y="65" width="5" height="5" class="test" />
+<rect x="70" y="65" width="15" height="5" class="test" />
+<rect x="100" y="65" width="10" height="5" class="test" />
+<rect x="45" y="70" width="5" height="5" class="test" />
+<rect x="75" y="70" width="10" height="5" class="test" />
+<rect x="95" y="70" width="15" height="5" class="test" />
+<rect x="5" y="75" width="35" height="5" class="test" />
+<rect x="50" y="75" width="10" height="5" class="test" />
+<rect x="65" y="75" width="5" height="5" class="test" />
+<rect x="85" y="75" width="10" height="5" class="test" />
+<rect x="100" y="75" width="10" height="5" class="test" />
+<rect x="5" y="80" width="5" height="5" class="test" />
+<rect x="35" y="80" width="5" height="5" class="test" />
+<rect x="50" y="80" width="10" height="5" class="test" />
+<rect x="75" y="80" width="15" height="5" class="test" />
+<rect x="100" y="80" width="10" height="5" class="test" />
+<rect x="5" y="85" width="5" height="5" class="test" />
+<rect x="15" y="85" width="15" height="5" class="test" />
+<rect x="35" y="85" width="5" height="5" class="test" />
+<rect x="45" y="85" width="15" height="5" class="test" />
+<rect x="65" y="85" width="5" height="5" class="test" />
+<rect x="75" y="85" width="5" height="5" class="test" />
+<rect x="85" y="85" width="5" height="5" class="test" />
+<rect x="100" y="85" width="10" height="5" class="test" />
+<rect x="5" y="90" width="5" height="5" class="test" />
+<rect x="15" y="90" width="15" height="5" class="test" />
+<rect x="35" y="90" width="5" height="5" class="test" />
+<rect x="50" y="90" width="5" height="5" class="test" />
+<rect x="60" y="90" width="5" height="5" class="test" />
+<rect x="70" y="90" width="5" height="5" class="test" />
+<rect x="85" y="90" width="10" height="5" class="test" />
+<rect x="100" y="90" width="5" height="5" class="test" />
+<rect x="5" y="95" width="5" height="5" class="test" />
+<rect x="15" y="95" width="15" height="5" class="test" />
+<rect x="35" y="95" width="5" height="5" class="test" />
+<rect x="45" y="95" width="10" height="5" class="test" />
+<rect x="60" y="95" width="5" height="5" class="test" />
+<rect x="70" y="95" width="20" height="5" class="test" />
+<rect x="105" y="95" width="5" height="5" class="test" />
+<rect x="5" y="100" width="5" height="5" class="test" />
+<rect x="35" y="100" width="5" height="5" class="test" />
+<rect x="60" y="100" width="15" height="5" class="test" />
+<rect x="100" y="100" width="5" height="5" class="test" />
+<rect x="5" y="105" width="35" height="5" class="test" />
+<rect x="45" y="105" width="5" height="5" class="test" />
+<rect x="55" y="105" width="10" height="5" class="test" />
+<rect x="70" y="105" width="10" height="5" class="test" />
+<rect x="85" y="105" width="5" height="5" class="test" />
+<rect x="100" y="105" width="10" height="5" class="test" />
+</svg>

+ 0 - 0
tests/Output/string/str2.html → tests/Output/markup/str2.html


+ 366 - 0
tests/Output/markup/str2.svg

@@ -0,0 +1,366 @@
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="195" height="195" viewBox="0 0 195 195" style="background-color:#fff">
+<defs><style>.test{fill:#000} rect{shape-rendering:crispEdges}</style></defs>
+<rect x="5" y="5" width="35" height="5" class="test" />
+<rect x="50" y="5" width="20" height="5" class="test" />
+<rect x="75" y="5" width="15" height="5" class="test" />
+<rect x="95" y="5" width="5" height="5" class="test" />
+<rect x="125" y="5" width="5" height="5" class="test" />
+<rect x="135" y="5" width="10" height="5" class="test" />
+<rect x="155" y="5" width="35" height="5" class="test" />
+<rect x="5" y="10" width="5" height="5" class="test" />
+<rect x="35" y="10" width="5" height="5" class="test" />
+<rect x="50" y="10" width="10" height="5" class="test" />
+<rect x="70" y="10" width="5" height="5" class="test" />
+<rect x="80" y="10" width="10" height="5" class="test" />
+<rect x="100" y="10" width="5" height="5" class="test" />
+<rect x="110" y="10" width="5" height="5" class="test" />
+<rect x="120" y="10" width="10" height="5" class="test" />
+<rect x="135" y="10" width="15" height="5" class="test" />
+<rect x="155" y="10" width="5" height="5" class="test" />
+<rect x="185" y="10" width="5" height="5" class="test" />
+<rect x="5" y="15" width="5" height="5" class="test" />
+<rect x="15" y="15" width="15" height="5" class="test" />
+<rect x="35" y="15" width="5" height="5" class="test" />
+<rect x="50" y="15" width="10" height="5" class="test" />
+<rect x="65" y="15" width="5" height="5" class="test" />
+<rect x="75" y="15" width="5" height="5" class="test" />
+<rect x="90" y="15" width="5" height="5" class="test" />
+<rect x="100" y="15" width="10" height="5" class="test" />
+<rect x="120" y="15" width="10" height="5" class="test" />
+<rect x="140" y="15" width="10" height="5" class="test" />
+<rect x="155" y="15" width="5" height="5" class="test" />
+<rect x="165" y="15" width="15" height="5" class="test" />
+<rect x="185" y="15" width="5" height="5" class="test" />
+<rect x="5" y="20" width="5" height="5" class="test" />
+<rect x="15" y="20" width="15" height="5" class="test" />
+<rect x="35" y="20" width="5" height="5" class="test" />
+<rect x="55" y="20" width="10" height="5" class="test" />
+<rect x="70" y="20" width="5" height="5" class="test" />
+<rect x="85" y="20" width="15" height="5" class="test" />
+<rect x="115" y="20" width="10" height="5" class="test" />
+<rect x="135" y="20" width="15" height="5" class="test" />
+<rect x="155" y="20" width="5" height="5" class="test" />
+<rect x="165" y="20" width="15" height="5" class="test" />
+<rect x="185" y="20" width="5" height="5" class="test" />
+<rect x="5" y="25" width="5" height="5" class="test" />
+<rect x="15" y="25" width="15" height="5" class="test" />
+<rect x="35" y="25" width="5" height="5" class="test" />
+<rect x="50" y="25" width="5" height="5" class="test" />
+<rect x="60" y="25" width="5" height="5" class="test" />
+<rect x="85" y="25" width="5" height="5" class="test" />
+<rect x="100" y="25" width="5" height="5" class="test" />
+<rect x="110" y="25" width="15" height="5" class="test" />
+<rect x="135" y="25" width="15" height="5" class="test" />
+<rect x="155" y="25" width="5" height="5" class="test" />
+<rect x="165" y="25" width="15" height="5" class="test" />
+<rect x="185" y="25" width="5" height="5" class="test" />
+<rect x="5" y="30" width="5" height="5" class="test" />
+<rect x="35" y="30" width="5" height="5" class="test" />
+<rect x="45" y="30" width="5" height="5" class="test" />
+<rect x="65" y="30" width="15" height="5" class="test" />
+<rect x="100" y="30" width="10" height="5" class="test" />
+<rect x="115" y="30" width="5" height="5" class="test" />
+<rect x="130" y="30" width="5" height="5" class="test" />
+<rect x="140" y="30" width="10" height="5" class="test" />
+<rect x="155" y="30" width="5" height="5" class="test" />
+<rect x="185" y="30" width="5" height="5" class="test" />
+<rect x="5" y="35" width="35" height="5" class="test" />
+<rect x="45" y="35" width="5" height="5" class="test" />
+<rect x="55" y="35" width="5" height="5" class="test" />
+<rect x="65" y="35" width="5" height="5" class="test" />
+<rect x="75" y="35" width="5" height="5" class="test" />
+<rect x="85" y="35" width="5" height="5" class="test" />
+<rect x="95" y="35" width="5" height="5" class="test" />
+<rect x="105" y="35" width="5" height="5" class="test" />
+<rect x="115" y="35" width="5" height="5" class="test" />
+<rect x="125" y="35" width="5" height="5" class="test" />
+<rect x="135" y="35" width="5" height="5" class="test" />
+<rect x="145" y="35" width="5" height="5" class="test" />
+<rect x="155" y="35" width="35" height="5" class="test" />
+<rect x="50" y="40" width="5" height="5" class="test" />
+<rect x="65" y="40" width="5" height="5" class="test" />
+<rect x="75" y="40" width="5" height="5" class="test" />
+<rect x="90" y="40" width="20" height="5" class="test" />
+<rect x="115" y="40" width="5" height="5" class="test" />
+<rect x="5" y="45" width="5" height="5" class="test" />
+<rect x="20" y="45" width="5" height="5" class="test" />
+<rect x="30" y="45" width="10" height="5" class="test" />
+<rect x="45" y="45" width="10" height="5" class="test" />
+<rect x="60" y="45" width="5" height="5" class="test" />
+<rect x="75" y="45" width="25" height="5" class="test" />
+<rect x="105" y="45" width="5" height="5" class="test" />
+<rect x="120" y="45" width="25" height="5" class="test" />
+<rect x="150" y="45" width="5" height="5" class="test" />
+<rect x="160" y="45" width="5" height="5" class="test" />
+<rect x="25" y="50" width="10" height="5" class="test" />
+<rect x="55" y="50" width="5" height="5" class="test" />
+<rect x="70" y="50" width="5" height="5" class="test" />
+<rect x="80" y="50" width="25" height="5" class="test" />
+<rect x="110" y="50" width="5" height="5" class="test" />
+<rect x="120" y="50" width="15" height="5" class="test" />
+<rect x="145" y="50" width="15" height="5" class="test" />
+<rect x="170" y="50" width="10" height="5" class="test" />
+<rect x="185" y="50" width="5" height="5" class="test" />
+<rect x="5" y="55" width="5" height="5" class="test" />
+<rect x="20" y="55" width="10" height="5" class="test" />
+<rect x="35" y="55" width="5" height="5" class="test" />
+<rect x="45" y="55" width="15" height="5" class="test" />
+<rect x="65" y="55" width="5" height="5" class="test" />
+<rect x="75" y="55" width="10" height="5" class="test" />
+<rect x="90" y="55" width="5" height="5" class="test" />
+<rect x="100" y="55" width="5" height="5" class="test" />
+<rect x="115" y="55" width="20" height="5" class="test" />
+<rect x="145" y="55" width="10" height="5" class="test" />
+<rect x="165" y="55" width="10" height="5" class="test" />
+<rect x="180" y="55" width="10" height="5" class="test" />
+<rect x="5" y="60" width="5" height="5" class="test" />
+<rect x="15" y="60" width="5" height="5" class="test" />
+<rect x="25" y="60" width="10" height="5" class="test" />
+<rect x="50" y="60" width="15" height="5" class="test" />
+<rect x="85" y="60" width="5" height="5" class="test" />
+<rect x="100" y="60" width="15" height="5" class="test" />
+<rect x="120" y="60" width="15" height="5" class="test" />
+<rect x="140" y="60" width="20" height="5" class="test" />
+<rect x="15" y="65" width="5" height="5" class="test" />
+<rect x="35" y="65" width="30" height="5" class="test" />
+<rect x="70" y="65" width="5" height="5" class="test" />
+<rect x="80" y="65" width="5" height="5" class="test" />
+<rect x="110" y="65" width="15" height="5" class="test" />
+<rect x="130" y="65" width="5" height="5" class="test" />
+<rect x="145" y="65" width="5" height="5" class="test" />
+<rect x="155" y="65" width="5" height="5" class="test" />
+<rect x="170" y="65" width="5" height="5" class="test" />
+<rect x="180" y="65" width="10" height="5" class="test" />
+<rect x="15" y="70" width="15" height="5" class="test" />
+<rect x="40" y="70" width="5" height="5" class="test" />
+<rect x="75" y="70" width="10" height="5" class="test" />
+<rect x="105" y="70" width="10" height="5" class="test" />
+<rect x="125" y="70" width="5" height="5" class="test" />
+<rect x="135" y="70" width="5" height="5" class="test" />
+<rect x="145" y="70" width="15" height="5" class="test" />
+<rect x="170" y="70" width="20" height="5" class="test" />
+<rect x="5" y="75" width="5" height="5" class="test" />
+<rect x="35" y="75" width="15" height="5" class="test" />
+<rect x="55" y="75" width="10" height="5" class="test" />
+<rect x="85" y="75" width="5" height="5" class="test" />
+<rect x="115" y="75" width="10" height="5" class="test" />
+<rect x="145" y="75" width="15" height="5" class="test" />
+<rect x="165" y="75" width="5" height="5" class="test" />
+<rect x="175" y="75" width="5" height="5" class="test" />
+<rect x="185" y="75" width="5" height="5" class="test" />
+<rect x="5" y="80" width="5" height="5" class="test" />
+<rect x="15" y="80" width="10" height="5" class="test" />
+<rect x="30" y="80" width="5" height="5" class="test" />
+<rect x="50" y="80" width="5" height="5" class="test" />
+<rect x="60" y="80" width="20" height="5" class="test" />
+<rect x="85" y="80" width="5" height="5" class="test" />
+<rect x="100" y="80" width="20" height="5" class="test" />
+<rect x="130" y="80" width="15" height="5" class="test" />
+<rect x="155" y="80" width="15" height="5" class="test" />
+<rect x="180" y="80" width="10" height="5" class="test" />
+<rect x="5" y="85" width="5" height="5" class="test" />
+<rect x="30" y="85" width="15" height="5" class="test" />
+<rect x="55" y="85" width="5" height="5" class="test" />
+<rect x="70" y="85" width="5" height="5" class="test" />
+<rect x="80" y="85" width="10" height="5" class="test" />
+<rect x="100" y="85" width="10" height="5" class="test" />
+<rect x="125" y="85" width="5" height="5" class="test" />
+<rect x="150" y="85" width="10" height="5" class="test" />
+<rect x="175" y="85" width="15" height="5" class="test" />
+<rect x="10" y="90" width="5" height="5" class="test" />
+<rect x="20" y="90" width="5" height="5" class="test" />
+<rect x="30" y="90" width="5" height="5" class="test" />
+<rect x="40" y="90" width="15" height="5" class="test" />
+<rect x="70" y="90" width="15" height="5" class="test" />
+<rect x="90" y="90" width="5" height="5" class="test" />
+<rect x="100" y="90" width="5" height="5" class="test" />
+<rect x="115" y="90" width="5" height="5" class="test" />
+<rect x="130" y="90" width="10" height="5" class="test" />
+<rect x="145" y="90" width="5" height="5" class="test" />
+<rect x="155" y="90" width="20" height="5" class="test" />
+<rect x="180" y="90" width="10" height="5" class="test" />
+<rect x="15" y="95" width="15" height="5" class="test" />
+<rect x="35" y="95" width="5" height="5" class="test" />
+<rect x="55" y="95" width="5" height="5" class="test" />
+<rect x="65" y="95" width="5" height="5" class="test" />
+<rect x="75" y="95" width="5" height="5" class="test" />
+<rect x="90" y="95" width="20" height="5" class="test" />
+<rect x="125" y="95" width="15" height="5" class="test" />
+<rect x="145" y="95" width="10" height="5" class="test" />
+<rect x="170" y="95" width="5" height="5" class="test" />
+<rect x="180" y="95" width="10" height="5" class="test" />
+<rect x="5" y="100" width="5" height="5" class="test" />
+<rect x="25" y="100" width="5" height="5" class="test" />
+<rect x="45" y="100" width="10" height="5" class="test" />
+<rect x="60" y="100" width="10" height="5" class="test" />
+<rect x="75" y="100" width="20" height="5" class="test" />
+<rect x="100" y="100" width="15" height="5" class="test" />
+<rect x="120" y="100" width="10" height="5" class="test" />
+<rect x="135" y="100" width="10" height="5" class="test" />
+<rect x="155" y="100" width="5" height="5" class="test" />
+<rect x="175" y="100" width="5" height="5" class="test" />
+<rect x="185" y="100" width="5" height="5" class="test" />
+<rect x="10" y="105" width="5" height="5" class="test" />
+<rect x="25" y="105" width="5" height="5" class="test" />
+<rect x="35" y="105" width="5" height="5" class="test" />
+<rect x="60" y="105" width="10" height="5" class="test" />
+<rect x="85" y="105" width="10" height="5" class="test" />
+<rect x="100" y="105" width="10" height="5" class="test" />
+<rect x="120" y="105" width="25" height="5" class="test" />
+<rect x="155" y="105" width="20" height="5" class="test" />
+<rect x="20" y="110" width="15" height="5" class="test" />
+<rect x="40" y="110" width="5" height="5" class="test" />
+<rect x="50" y="110" width="15" height="5" class="test" />
+<rect x="75" y="110" width="20" height="5" class="test" />
+<rect x="125" y="110" width="5" height="5" class="test" />
+<rect x="135" y="110" width="5" height="5" class="test" />
+<rect x="145" y="110" width="5" height="5" class="test" />
+<rect x="155" y="110" width="10" height="5" class="test" />
+<rect x="170" y="110" width="5" height="5" class="test" />
+<rect x="180" y="110" width="10" height="5" class="test" />
+<rect x="5" y="115" width="5" height="5" class="test" />
+<rect x="15" y="115" width="5" height="5" class="test" />
+<rect x="25" y="115" width="5" height="5" class="test" />
+<rect x="35" y="115" width="15" height="5" class="test" />
+<rect x="60" y="115" width="20" height="5" class="test" />
+<rect x="95" y="115" width="25" height="5" class="test" />
+<rect x="160" y="115" width="15" height="5" class="test" />
+<rect x="185" y="115" width="5" height="5" class="test" />
+<rect x="15" y="120" width="10" height="5" class="test" />
+<rect x="40" y="120" width="10" height="5" class="test" />
+<rect x="55" y="120" width="5" height="5" class="test" />
+<rect x="75" y="120" width="10" height="5" class="test" />
+<rect x="95" y="120" width="15" height="5" class="test" />
+<rect x="125" y="120" width="25" height="5" class="test" />
+<rect x="160" y="120" width="5" height="5" class="test" />
+<rect x="180" y="120" width="5" height="5" class="test" />
+<rect x="5" y="125" width="10" height="5" class="test" />
+<rect x="20" y="125" width="5" height="5" class="test" />
+<rect x="35" y="125" width="5" height="5" class="test" />
+<rect x="55" y="125" width="15" height="5" class="test" />
+<rect x="75" y="125" width="15" height="5" class="test" />
+<rect x="95" y="125" width="10" height="5" class="test" />
+<rect x="130" y="125" width="10" height="5" class="test" />
+<rect x="145" y="125" width="20" height="5" class="test" />
+<rect x="170" y="125" width="5" height="5" class="test" />
+<rect x="180" y="125" width="10" height="5" class="test" />
+<rect x="10" y="130" width="5" height="5" class="test" />
+<rect x="25" y="130" width="10" height="5" class="test" />
+<rect x="40" y="130" width="5" height="5" class="test" />
+<rect x="50" y="130" width="5" height="5" class="test" />
+<rect x="80" y="130" width="5" height="5" class="test" />
+<rect x="90" y="130" width="10" height="5" class="test" />
+<rect x="110" y="130" width="10" height="5" class="test" />
+<rect x="125" y="130" width="5" height="5" class="test" />
+<rect x="150" y="130" width="15" height="5" class="test" />
+<rect x="170" y="130" width="20" height="5" class="test" />
+<rect x="5" y="135" width="5" height="5" class="test" />
+<rect x="15" y="135" width="5" height="5" class="test" />
+<rect x="25" y="135" width="5" height="5" class="test" />
+<rect x="35" y="135" width="10" height="5" class="test" />
+<rect x="55" y="135" width="5" height="5" class="test" />
+<rect x="70" y="135" width="5" height="5" class="test" />
+<rect x="80" y="135" width="15" height="5" class="test" />
+<rect x="105" y="135" width="20" height="5" class="test" />
+<rect x="135" y="135" width="5" height="5" class="test" />
+<rect x="145" y="135" width="5" height="5" class="test" />
+<rect x="155" y="135" width="10" height="5" class="test" />
+<rect x="170" y="135" width="5" height="5" class="test" />
+<rect x="185" y="135" width="5" height="5" class="test" />
+<rect x="10" y="140" width="5" height="5" class="test" />
+<rect x="30" y="140" width="5" height="5" class="test" />
+<rect x="45" y="140" width="5" height="5" class="test" />
+<rect x="65" y="140" width="15" height="5" class="test" />
+<rect x="85" y="140" width="10" height="5" class="test" />
+<rect x="100" y="140" width="5" height="5" class="test" />
+<rect x="110" y="140" width="5" height="5" class="test" />
+<rect x="120" y="140" width="15" height="5" class="test" />
+<rect x="140" y="140" width="15" height="5" class="test" />
+<rect x="5" y="145" width="10" height="5" class="test" />
+<rect x="20" y="145" width="5" height="5" class="test" />
+<rect x="30" y="145" width="10" height="5" class="test" />
+<rect x="75" y="145" width="15" height="5" class="test" />
+<rect x="100" y="145" width="5" height="5" class="test" />
+<rect x="110" y="145" width="5" height="5" class="test" />
+<rect x="125" y="145" width="5" height="5" class="test" />
+<rect x="135" y="145" width="45" height="5" class="test" />
+<rect x="185" y="145" width="5" height="5" class="test" />
+<rect x="45" y="150" width="5" height="5" class="test" />
+<rect x="60" y="150" width="5" height="5" class="test" />
+<rect x="70" y="150" width="5" height="5" class="test" />
+<rect x="80" y="150" width="25" height="5" class="test" />
+<rect x="110" y="150" width="20" height="5" class="test" />
+<rect x="145" y="150" width="5" height="5" class="test" />
+<rect x="165" y="150" width="5" height="5" class="test" />
+<rect x="180" y="150" width="10" height="5" class="test" />
+<rect x="5" y="155" width="35" height="5" class="test" />
+<rect x="50" y="155" width="15" height="5" class="test" />
+<rect x="70" y="155" width="5" height="5" class="test" />
+<rect x="85" y="155" width="10" height="5" class="test" />
+<rect x="105" y="155" width="5" height="5" class="test" />
+<rect x="115" y="155" width="5" height="5" class="test" />
+<rect x="130" y="155" width="5" height="5" class="test" />
+<rect x="140" y="155" width="10" height="5" class="test" />
+<rect x="155" y="155" width="5" height="5" class="test" />
+<rect x="165" y="155" width="15" height="5" class="test" />
+<rect x="185" y="155" width="5" height="5" class="test" />
+<rect x="5" y="160" width="5" height="5" class="test" />
+<rect x="35" y="160" width="5" height="5" class="test" />
+<rect x="45" y="160" width="10" height="5" class="test" />
+<rect x="70" y="160" width="5" height="5" class="test" />
+<rect x="100" y="160" width="5" height="5" class="test" />
+<rect x="110" y="160" width="5" height="5" class="test" />
+<rect x="145" y="160" width="5" height="5" class="test" />
+<rect x="165" y="160" width="5" height="5" class="test" />
+<rect x="175" y="160" width="15" height="5" class="test" />
+<rect x="5" y="165" width="5" height="5" class="test" />
+<rect x="15" y="165" width="15" height="5" class="test" />
+<rect x="35" y="165" width="5" height="5" class="test" />
+<rect x="50" y="165" width="15" height="5" class="test" />
+<rect x="70" y="165" width="15" height="5" class="test" />
+<rect x="90" y="165" width="5" height="5" class="test" />
+<rect x="100" y="165" width="5" height="5" class="test" />
+<rect x="115" y="165" width="25" height="5" class="test" />
+<rect x="145" y="165" width="30" height="5" class="test" />
+<rect x="180" y="165" width="5" height="5" class="test" />
+<rect x="5" y="170" width="5" height="5" class="test" />
+<rect x="15" y="170" width="15" height="5" class="test" />
+<rect x="35" y="170" width="5" height="5" class="test" />
+<rect x="45" y="170" width="5" height="5" class="test" />
+<rect x="60" y="170" width="10" height="5" class="test" />
+<rect x="80" y="170" width="5" height="5" class="test" />
+<rect x="90" y="170" width="5" height="5" class="test" />
+<rect x="100" y="170" width="20" height="5" class="test" />
+<rect x="125" y="170" width="5" height="5" class="test" />
+<rect x="145" y="170" width="5" height="5" class="test" />
+<rect x="160" y="170" width="10" height="5" class="test" />
+<rect x="180" y="170" width="5" height="5" class="test" />
+<rect x="5" y="175" width="5" height="5" class="test" />
+<rect x="15" y="175" width="15" height="5" class="test" />
+<rect x="35" y="175" width="5" height="5" class="test" />
+<rect x="65" y="175" width="15" height="5" class="test" />
+<rect x="85" y="175" width="10" height="5" class="test" />
+<rect x="105" y="175" width="10" height="5" class="test" />
+<rect x="125" y="175" width="5" height="5" class="test" />
+<rect x="140" y="175" width="10" height="5" class="test" />
+<rect x="165" y="175" width="10" height="5" class="test" />
+<rect x="180" y="175" width="10" height="5" class="test" />
+<rect x="5" y="180" width="5" height="5" class="test" />
+<rect x="35" y="180" width="5" height="5" class="test" />
+<rect x="50" y="180" width="5" height="5" class="test" />
+<rect x="70" y="180" width="5" height="5" class="test" />
+<rect x="80" y="180" width="5" height="5" class="test" />
+<rect x="110" y="180" width="25" height="5" class="test" />
+<rect x="140" y="180" width="10" height="5" class="test" />
+<rect x="155" y="180" width="15" height="5" class="test" />
+<rect x="5" y="185" width="35" height="5" class="test" />
+<rect x="45" y="185" width="5" height="5" class="test" />
+<rect x="55" y="185" width="5" height="5" class="test" />
+<rect x="70" y="185" width="5" height="5" class="test" />
+<rect x="85" y="185" width="5" height="5" class="test" />
+<rect x="100" y="185" width="10" height="5" class="test" />
+<rect x="120" y="185" width="5" height="5" class="test" />
+<rect x="130" y="185" width="5" height="5" class="test" />
+<rect x="140" y="185" width="30" height="5" class="test" />
+<rect x="180" y="185" width="10" height="5" class="test" />
+</svg>

+ 0 - 0
tests/Output/string/str3.html → tests/Output/markup/str3.html


+ 0 - 0
tests/Output/string/str4.html → tests/Output/markup/str4.html