1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
<?php
declare(strict_types=1);
namespace BaconQrCodeTest\Integration;
use BaconQrCode\Renderer\Color\Rgb;
use BaconQrCode\Renderer\Image\SvgImageBackEnd;
use BaconQrCode\Renderer\ImageRenderer;
use BaconQrCode\Renderer\RendererStyle\EyeFill;
use BaconQrCode\Renderer\RendererStyle\Fill;
use BaconQrCode\Renderer\RendererStyle\Gradient;
use BaconQrCode\Renderer\RendererStyle\GradientType;
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
use BaconQrCode\Writer;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\TestCase;
use Spatie\Snapshots\MatchesSnapshots;
#[Group('integration')]
final class SVGRenderingTest extends TestCase
{
//use MatchesSnapshots;
public function testGenericQrCode(): void
{
$renderer = new ImageRenderer(
new RendererStyle(400),
new SvgImageBackEnd()
);
$writer = new Writer($renderer);
$svg = $writer->writeString('Hello World!');
$this->assertMatchesXmlSnapshot($svg);
}
public function testQrWithGradientGeneratesDifferentIdsForDifferentGradients()
{
$types = ['HORIZONTAL', 'VERTICAL'];
foreach ($types as $type) {
$gradient = new Gradient(
new Rgb(0, 0, 0),
new Rgb(255, 0, 0),
GradientType::$type()
);
$renderer = new ImageRenderer(
new RendererStyle(
size: 400,
fill: Fill::withForegroundGradient(
new Rgb(255, 255, 255),
$gradient,
EyeFill::inherit(),
EyeFill::inherit(),
EyeFill::inherit()
)
),
new SvgImageBackEnd()
);
$writer = new Writer($renderer);
$svg = $writer->writeString('Hello World!');
$this->assertMatchesXmlSnapshot($svg);
}
}
}
|