diff options
Diffstat (limited to 'demos/time-tracker/tests/unit/BaseTestCase.php')
-rw-r--r-- | demos/time-tracker/tests/unit/BaseTestCase.php | 126 |
1 files changed, 63 insertions, 63 deletions
diff --git a/demos/time-tracker/tests/unit/BaseTestCase.php b/demos/time-tracker/tests/unit/BaseTestCase.php index d72cbc5c..10df400f 100644 --- a/demos/time-tracker/tests/unit/BaseTestCase.php +++ b/demos/time-tracker/tests/unit/BaseTestCase.php @@ -1,64 +1,64 @@ -<?php
-
-
-Prado::using('Application.App_Code.Dao.*');
-
-class BaseTestCase extends UnitTestCase
-{
- protected $sqlmap;
-
- function setup()
- {
- $app = Prado::getApplication();
- $this->sqlmap = $app->getModule('daos')->getClient();
- }
-
-
- function flushDatabase()
- {
- $conn = $this->sqlmap->getDbConnection();
- $find = 'sqlite:protected';
- if(is_int(strpos($conn->getConnectionString(),$find)))
- $conn->ConnectionString = str_replace($find, 'sqlite:../protected', $conn->ConnectionString);
- $conn->setActive(false);
- $conn->setActive(true);
- switch(strtolower($conn->getDriverName()))
- {
- case 'mysql':
- return $this->flushMySQLDatabase();
- case 'sqlite':
- return $this->flushSQLiteDatabase();
- }
- }
-
- function flushSQLiteDatabase()
- {
- $conn = $this->sqlmap->getDbConnection();
- $file = str_replace('sqlite:','',$conn->getConnectionString());
- $backup = $file.'.bak';
- copy($backup, $file);
- }
-
- function flushMySQLDatabase()
- {
- $conn = $this->sqlmap->getDbConnection();
- $file = Prado::getPathOfNamespace('Application.App_Data.MySQL4.mysql-reset','.sql');
- if(is_file($file))
- $this->runScript($conn, $file);
- else
- throw new Exception('unable to find script file '.$file);
- }
-
- protected function runScript($connection, $script)
- {
- $sql = file_get_contents($script);
- $lines = explode(';', $sql);
- foreach($lines as $line)
- {
- $line = trim($line);
- if(strlen($line) > 0)
- $connection->createCommand($line)->execute();
- }
- }
-}
+<?php + + +Prado::using('Application.App_Code.Dao.*'); + +class BaseTestCase extends UnitTestCase +{ + protected $sqlmap; + + function setup() + { + $app = Prado::getApplication(); + $this->sqlmap = $app->getModule('daos')->getClient(); + } + + + function flushDatabase() + { + $conn = $this->sqlmap->getDbConnection(); + $find = 'sqlite:protected'; + if(is_int(strpos($conn->getConnectionString(),$find))) + $conn->ConnectionString = str_replace($find, 'sqlite:../protected', $conn->ConnectionString); + $conn->setActive(false); + $conn->setActive(true); + switch(strtolower($conn->getDriverName())) + { + case 'mysql': + return $this->flushMySQLDatabase(); + case 'sqlite': + return $this->flushSQLiteDatabase(); + } + } + + function flushSQLiteDatabase() + { + $conn = $this->sqlmap->getDbConnection(); + $file = str_replace('sqlite:','',$conn->getConnectionString()); + $backup = $file.'.bak'; + copy($backup, $file); + } + + function flushMySQLDatabase() + { + $conn = $this->sqlmap->getDbConnection(); + $file = Prado::getPathOfNamespace('Application.App_Data.MySQL4.mysql-reset','.sql'); + if(is_file($file)) + $this->runScript($conn, $file); + else + throw new Exception('unable to find script file '.$file); + } + + protected function runScript($connection, $script) + { + $sql = file_get_contents($script); + $lines = explode(';', $sql); + foreach($lines as $line) + { + $line = trim($line); + if(strlen($line) > 0) + $connection->createCommand($line)->execute(); + } + } +} ?>
\ No newline at end of file |