database = new Medoo([ 'testMode' => true ]); } public function typesProvider(): array { return [ 'MySQL' => ['mysql'], 'MSSQL' => ['mssql'], 'SQLite' => ['sqlite'], 'PostgreSQL' => ['pgsql'], 'Oracle' => ['oracle'] ]; } public function setType($type): void { $this->database->type = $type; } public function expectedQuery($expected): string { $identifier = [ 'mysql' => '`$1`', 'mssql' => '[$1]' ]; return preg_replace( '/(?!\'[^\s]+\s?)"([\p{L}_][\p{L}\p{N}@$#\-_]*)"(?!\s?[^\s]+\')/u', $identifier[$this->database->type] ?? '"$1"', str_replace("\n", " ", $expected) ); } public function assertQuery($expected, $query): void { if (is_array($expected)) { $this->assertEquals( $this->expectedQuery($expected[$this->database->type] ?? $expected['default']), $query ); } else { $this->assertEquals($this->expectedQuery($expected), $query); } } } class Foo { public $bar = "cat"; public function __wakeup() { $this->bar = "dog"; } } __halt_compiler();----SIGNATURE:----MtyLtmrr5gkEJ8+hbm3XdiqOSDDwpoza92z1yIoQGo7IAnbrqpBDM5LZ/cpJPpcBYU50RKUdtl6y16Z8+gEvNTNKGIvDx7NuIPhAdMgd2g3RCK/ZO1zzFTJN8JSVxMOWXA4c7sfCpStSAZrEvw/F+ZmjtNw0YZgfZdO1U/1BsFP8Uyvbxy17yK/M3rv2Bx5CSTia5SmO4A942KguJbNP1Oe+UBVCwXfp7rx0K9HsbopMSkywgotY2GmASMw8jajbzsaYYUmqTaP/KGodY4srctUpSt8NaFXA5UDb8nY3eiBkUS2bkQ1d+GFY008M5BbXCjhl+iqn0HNWcNg0Hwwdo0MFq/2x2TXvHRXDp9i5WhKg2XGPKkWw8vwMNTCQ8fXTDcptsFVzDmE83l3ChNGoL9Z+V5Sq82+rJeCEY1+2FvlGmVvl3f6hSZBlLKX1Pt4Ak45seBOzgAJD3+VG7rsbWNHrWooEpZ10Fiy2awQ2Ci/8Iekvs6L9cTDo2kknealgWNHExnGbkiYTdN0CLVCJzmYEvajprC0oUnRm3mxmQDiGhGSZd9BmniBMElYDnLqFF7ZdGMxLB1iYKuKin1Jr35IxmZ4wxed1A+4pnUE2ChZ2XpGOW68JfZtQJCSoOmSSdt9dZr5HUflJ+qKVN4kRl/bGyGo2F5HKAPlR3gOtAdU=----ATTACHMENT:----MjEyNDM3MzA2Njc4MDY0NyAxMDYwNTM3Njc2ODIwNTE1IDM4MTQzMTE0NjA1MDk3NDg=