[limb-svn] r6956 - in 3.x/trunk/limb/dbal: src/dump tests/cases/non-driver/dump
svn at limb-project.com
svn at limb-project.com
Fri Apr 25 16:28:10 MSD 2008
Author: korchasa
Date: 2008-04-25 16:28:10 +0400 (Fri, 25 Apr 2008)
New Revision: 6956
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6956
Added:
3.x/trunk/limb/dbal/tests/cases/non-driver/dump/lmbMysqliDumpLoaderTest.class.php
Modified:
3.x/trunk/limb/dbal/src/dump/lmbMysqliDumpLoader.class.php
Log:
-- added implementation for lmbMysqliDumpLoader
Modified: 3.x/trunk/limb/dbal/src/dump/lmbMysqliDumpLoader.class.php
===================================================================
--- 3.x/trunk/limb/dbal/src/dump/lmbMysqliDumpLoader.class.php 2008-04-25 07:18:18 UTC (rev 6955)
+++ 3.x/trunk/limb/dbal/src/dump/lmbMysqliDumpLoader.class.php 2008-04-25 12:28:10 UTC (rev 6956)
@@ -14,7 +14,7 @@
* @package dbal
* @version $Id: lmbMysqlDumpLoader.class.php 6243 2007-08-29 11:53:10Z pachanga $
*/
-class lmbMysqlDumpLoader extends lmbSQLDumpLoader
+class lmbMysqliDumpLoader extends lmbSQLDumpLoader
{
// the parsing code was taken from somewhere else...
// and it's ugly, ugly, ugly!!!
Added: 3.x/trunk/limb/dbal/tests/cases/non-driver/dump/lmbMysqliDumpLoaderTest.class.php
===================================================================
--- 3.x/trunk/limb/dbal/tests/cases/non-driver/dump/lmbMysqliDumpLoaderTest.class.php (rev 0)
+++ 3.x/trunk/limb/dbal/tests/cases/non-driver/dump/lmbMysqliDumpLoaderTest.class.php 2008-04-25 12:28:10 UTC (rev 6956)
@@ -0,0 +1,87 @@
+<?php
+/*
+ * Limb PHP Framework
+ *
+ * @link http://limb-project.com
+ * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com)
+ * @license LGPL http://www.gnu.org/copyleft/lesser.html
+ */
+lmb_require('limb/dbal/src/dump/lmbMysqliDumpLoader.class.php');
+lmb_require(dirname(__FILE__) . '/lmbSQLDumpLoaderTestBase.class.php');
+
+class lmbMysqliDumpLoaderTest extends lmbSQLDumpLoaderTestBase
+{
+ function skip()
+ {
+ $this->skipIf(!lmbToolkit :: instance()->getDefaultDbConnection() instanceof lmbMysqliConnection,
+ "lmbMysqliDumpLoader tests skipped, mysqli connection required");
+ }
+
+ function _createLoader($file=null)
+ {
+ return new lmbMysqliDumpLoader($file);
+ }
+
+ function testFullBlownMysqlDump()
+ {
+ $sql = <<< EOD
+/*
+SQLyog Enterprise v4.06 RC1
+Host - 4.0.12-max-debug : Database - all-limb-tests
+*********************************************************************
+Server version : 4.0.12-max-debug
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+create database if not exists `foo`;
+
+/*Table structure for table `bar` */
+
+drop table if exists `bar`;
+
+CREATE TABLE `bar` (
+ `id` int(11) NOT null auto_increment,
+ `url` varchar(255) NOT null default '',
+ `description` varchar(255) default null,
+ `img_src` varchar(255) default null,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`oid`)
+) TYPE=InnoDB;
+
+/*Data for the table `baz` */;
+LOCK TABLES `baz` WRITE;
+
+UNLOCK TABLES;
+
+INSERT INTO `article` VALUES (8,101,2,'TemplateView','Template View','wiki');
+EOD;
+
+ $this->_writeDump($sql, $this->file_path);
+
+ $loader = $this->_createLoader($this->file_path);
+
+ $statements = $loader->getStatements();
+
+ $this->assertEqual(sizeof($statements), 7);
+
+ $this->assertEqual($statements[0], 'SET FOREIGN_KEY_CHECKS=0');
+ $this->assertEqual($statements[1], 'create database if not exists `foo`');
+ $this->assertEqual($statements[2], 'drop table if exists `bar`');
+ $this->assertEqual($statements[3], "CREATE TABLE `bar` (
+ `id` int(11) NOT null auto_increment,
+ `url` varchar(255) NOT null default '',
+ `description` varchar(255) default null,
+ `img_src` varchar(255) default null,
+ PRIMARY KEY (`id`),
+ KEY `id` (`id`,`oid`)
+) TYPE=InnoDB");
+ $this->assertEqual($statements[4], 'LOCK TABLES `baz` WRITE');
+ $this->assertEqual($statements[5], 'UNLOCK TABLES');
+ $this->assertEqual($statements[6], "INSERT INTO `article` VALUES (8,101,2,'TemplateView','Template View','wiki')");
+
+ $this->assertEqual($loader->getAffectedTables(), array('article'));
+ }
+}
+
+
More information about the limb-svn
mailing list