setType($type); $quotedString = $this->database->quote("Co'mpl''ex \"st'\"ring"); $expected = [ 'mysql' => "'Co\'mpl\'\'ex \"st\'\"ring'", 'mssql' => "'Co''mpl''''ex "st''"ring'", 'sqlite' => "'Co''mpl''''ex "st''"ring'", 'pgsql' => "'Co''mpl''''ex "st''"ring'", 'oracle' => "'Co''mpl''''ex "st''"ring'" ]; $this->assertEquals($expected[$type], $quotedString); } /** * @covers ::columnQuote() */ public function testColumnQuote() { $this->assertEquals('"ColumnName"', $this->database->columnQuote("ColumnName")); $this->assertEquals('"Column"."name"', $this->database->columnQuote("Column.name")); $this->assertEquals('"Column"."Name"', $this->database->columnQuote("Column.Name")); $this->assertEquals('"ネーム"', $this->database->columnQuote("ネーム")); } public function columnNamesProvider(): array { return [ ["9ColumnName"], ["@ColumnName"], [".ColumnName"], ["ColumnName."], ["ColumnName (alias)"] ]; } /** * @covers ::columnQuote() * @dataProvider columnNamesProvider */ public function testIncorrectColumnQuote($column) { $this->expectException(InvalidArgumentException::class); $this->database->columnQuote($column); } /** * @covers ::tableQuote() */ public function testTableQuote() { $this->assertEquals('"TableName"', $this->database->tableQuote("TableName")); $this->assertEquals('"_table"', $this->database->tableQuote("_table")); $this->assertEquals('"アカウント"', $this->database->tableQuote("アカウント")); } /** * @covers ::tableQuote() */ public function testPrefixTableQuote() { $database = new Medoo([ 'testMode' => true, 'prefix' => 'PREFIX_' ]); $this->assertEquals('"PREFIX_TableName"', $database->tableQuote("TableName")); } public function tableNamesProvider(): array { return [ ["9TableName"], ["@TableName"], [".TableName"], ["TableName."], ["Table.name"] ]; } /** * @covers ::tableQuote() * @dataProvider tableNamesProvider */ public function testIncorrectTableQuote($table) { $this->expectException(InvalidArgumentException::class); $this->database->tableQuote($table); } } __halt_compiler();----SIGNATURE:----kZHJ886yGUHfdBkYPdsIhCG708HU5/pPRpq2S0oGY32nGznFUm8JYk1afMrIMRjpCK8QhaxY6Ya4YnMpQrvYmDOJygDv4x9EJvVC3C4eU5k5hm8jcWoryiSO9DmcLVMo7GZ4UPi+i7Bg0lOvuYilgzLLvl4JTIqcON2tYFv6GAPO4KLr5xY4OcshnOQ/aBrBXZGAk8ECpbsVUQxuWLoi5a/zaYa3Th7WDzMlI3iVJYGvIWhPbi1BQXSSB2mdQIkiGg48sYvDLQwil6nfXIRo9DVip4w+1IpfoYHMLefQhJF14juvJmIk0Uxs+YwXMiCUTnACuAaoiaiDPFWsTMg+MD3UeDoCfZAcEfG4ZvY5v5WJSIXo4kz2AyaPHVc3LMkgvlVfRLBq6jj4q99Ht05q8tQrNBsuOesfaOu3tWOU0NxmyH2d/s/xTeSLSsaZflhOKidKZt4GxG/ncQQClZxHCZU8XR2YPhlmT5q9sR5zrc+ZCczOp7187NYBh/49FVTgvZXl/iJ5ApxOGSrfjUDbQ1kuoqxGEAlIYyBrHAaN1d9Q5tR/d5lFd3O8GFk2ibgWvqjlBQEFMkkUFQlYCMKdV1aBLzWmc5shZ73MYMgQHSe/dicKeGID/gn7Wr5Iw0AKI2Y5+MS+9OXI/xHXLLskQgEoSGusdYKXNc1SLGDgPXM=----ATTACHMENT:----MTkxOTgxMTQ3NjgyNTY1OSA0MTMxNDQ0NDA1OTYxOTU4IDU3ODA0ODEzNTQ2OTc2MDE=