Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

122 lines (106 sloc) 4.093 kb
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @package Zend_Db
*/
namespace ZendTest\Db\Adapter\Platform;
use Zend\Db\Adapter\Platform\Mysql;
class MysqlTest extends \PHPUnit_Framework_TestCase
{
/**
* @var Mysql
*/
protected $platform;
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp()
{
$this->platform = new Mysql;
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::getName
*/
public function testGetName()
{
$this->assertEquals('MySQL', $this->platform->getName());
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::getQuoteIdentifierSymbol
*/
public function testGetQuoteIdentifierSymbol()
{
$this->assertEquals('`', $this->platform->getQuoteIdentifierSymbol());
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::quoteIdentifier
*/
public function testQuoteIdentifier()
{
$this->assertEquals('`identifier`', $this->platform->quoteIdentifier('identifier'));
$this->assertEquals('`ident``ifier`', $this->platform->quoteIdentifier('ident`ifier'));
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::quoteIdentifierChain
*/
public function testQuoteIdentifierChain()
{
$this->assertEquals('`identifier`', $this->platform->quoteIdentifierChain('identifier'));
$this->assertEquals('`identifier`', $this->platform->quoteIdentifierChain(array('identifier')));
$this->assertEquals('`schema`.`identifier`', $this->platform->quoteIdentifierChain(array('schema','identifier')));
$this->assertEquals('`ident``ifier`', $this->platform->quoteIdentifierChain('ident`ifier'));
$this->assertEquals('`ident``ifier`', $this->platform->quoteIdentifierChain(array('ident`ifier')));
$this->assertEquals('`schema`.`ident``ifier`', $this->platform->quoteIdentifierChain(array('schema','ident`ifier')));
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::getQuoteValueSymbol
*/
public function testGetQuoteValueSymbol()
{
$this->assertEquals("'", $this->platform->getQuoteValueSymbol());
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::quoteValue
*/
public function testQuoteValue()
{
$this->assertEquals("'value'", $this->platform->quoteValue('value'));
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::quoteValueList
*/
public function testQuoteValueList()
{
$this->assertEquals("'Foo O\\'Bar'", $this->platform->quoteValueList("Foo O'Bar"));
$this->assertEquals("'Foo O\\'Bar'", $this->platform->quoteValueList(array("Foo O'Bar")));
$this->assertEquals("'value', 'Foo O\\'Bar'", $this->platform->quoteValueList(array('value',"Foo O'Bar")));
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::getIdentifierSeparator
*/
public function testGetIdentifierSeparator()
{
$this->assertEquals('.', $this->platform->getIdentifierSeparator());
}
/**
* @covers Zend\Db\Adapter\Platform\Mysql::quoteIdentifierInFragment
*/
public function testQuoteIdentifierInFragment()
{
$this->assertEquals('`foo`.`bar`', $this->platform->quoteIdentifierInFragment('foo.bar'));
$this->assertEquals('`foo` as `bar`', $this->platform->quoteIdentifierInFragment('foo as bar'));
}
/**
* @group ZF2-386
* @covers Zend\Db\Adapter\Platform\Mysql::quoteIdentifierInFragment
*/
public function testQuoteIdentifierInFragmentIgnoresSingleCharSafeWords()
{
$this->assertEquals('(`foo`.`bar` = `boo`.`baz`)', $this->platform->quoteIdentifierInFragment('(foo.bar = boo.baz)', array('(', ')', '=')));
}
}
Jump to Line
Something went wrong with that request. Please try again.