Source of file PostgreSQLConnectorTest.php
Size: 1,920 Bytes - Last Modified: 2021-12-23T10:33:33+00:00
/var/www/docs.ssmods.com/process/src/tests/PostgreSQLConnectorTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <?php namespace SilverStripe\PostgreSQL\Tests; use SilverStripe\Dev\SapphireTest; use SilverStripe\PostgreSQL\PostgreSQLConnector; class PostgreSQLConnectorTest extends SapphireTest { public function testSubstitutesPlaceholders() { $connector = new PostgreSQLConnector(); // basic case $this->assertEquals( "SELECT * FROM Table WHERE ID = $1", $connector->replacePlaceholders("SELECT * FROM Table WHERE ID = ?") ); // Multiple variables $this->assertEquals( "SELECT * FROM Table WHERE ID = $1 AND Name = $2", $connector->replacePlaceholders("SELECT * FROM Table WHERE ID = ? AND Name = ?") ); // Ignoring question mark placeholders within string literals $this->assertEquals( "SELECT * FROM Table WHERE ID = $1 AND Name = $2 AND Content = '<p>What is love?</p>'", $connector->replacePlaceholders( "SELECT * FROM Table WHERE ID = ? AND Name = ? AND Content = '<p>What is love?</p>'" ) ); // Ignoring question mark placeholders within string literals with escaped slashes $this->assertEquals( "SELECT * FROM Table WHERE ID = $1 AND Title = '\\'' AND Content = '<p>What is love?</p>' AND Name = $2", $connector->replacePlaceholders( "SELECT * FROM Table WHERE ID = ? AND Title = '\\'' AND Content = '<p>What is love?</p>' AND Name = ?" ) ); // same as above, but use double single quote escape syntax $this->assertEquals( "SELECT * FROM Table WHERE ID = $1 AND Title = '''' AND Content = '<p>What is love?</p>' AND Name = $2", $connector->replacePlaceholders( "SELECT * FROM Table WHERE ID = ? AND Title = '''' AND Content = '<p>What is love?</p>' AND Name = ?" ) ); } } |