packages/ztd-query-mysql/tests/Unit/Shadow/Mutation/Upsert/StringLiteralTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Shadow\Mutation\Upsert;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\TestCase;
9use ZtdQuery\Platform\MySql\Shadow\Mutation\Upsert\StringLiteral;
10
11#[CoversClass(StringLiteral::class)]
12final class StringLiteralTest extends TestCase
13{
14    public function testStringUnescapesDoubledQuotesAndBackslashes(): void
15    {
16        $reader = new StringLiteral();
17        self::assertSame("a'b", $reader->string("'a''b'"));
18        self::assertSame("a'b", $reader->string("'a\\'b'"));
19        self::assertSame('a\\b', $reader->string("'a\\\\b'"));
20        self::assertSame('', $reader->string("''"));
21    }
22
23}
24