Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 121 lines (106 sloc) 4.093 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
<?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('(', ')', '=')));
    }
}
Something went wrong with that request. Please try again.