diff --git a/Scisr.php b/Scisr.php index 4a26a88..7e05764 100644 --- a/Scisr.php +++ b/Scisr.php @@ -106,9 +106,11 @@ public function setOutput($output) $this->_output = $output; } - public static function createScisr($className = 'Scisr') + public static function createScisr($className = 'Scisr', $db = null) { - $db = Scisr_Db::getDb(); + if ($db === null) { + $db = Scisr_Db::getDb(); + } $dbFiles = new Scisr_Db_Files($db); $dbFiles->init(); $dbFileIncludes = new Scisr_Db_FileIncludes($db); diff --git a/tests/FileCachingTest.php b/tests/FileCachingTest.php index a772be9..ff864a7 100644 --- a/tests/FileCachingTest.php +++ b/tests/FileCachingTest.php @@ -55,7 +55,7 @@ public function testDontUseIncompleteCacheResults() { include "Foo.php" EOL; $this->populateFile($code); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClassFile('Foo', 'Bar'); $s->addFile($this->test_file); $s->run(); diff --git a/tests/RenameClassFileSystemTest.php b/tests/RenameClassFileSystemTest.php index 74aaa04..d25c12b 100644 --- a/tests/RenameClassFileSystemTest.php +++ b/tests/RenameClassFileSystemTest.php @@ -9,7 +9,7 @@ class RenameClassFileSystemTest extends Scisr_Tests_MultipleFileTestCase public function testRenameClassFileAndCompareFile($oldName, $newName, $oldFile, $newFile) { $this->populateDir(dirname(__FILE__) . '/_files/classFileFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClassFile($oldName, $newName); $s->addFile($this->test_dir . '/' . $oldFile); $s->run(); @@ -28,7 +28,7 @@ public function classFileProvider() { public function testDontRenameClassFileWithoutAllowedExtension() { $this->populateDir(dirname(__FILE__) . '/_files/classFileFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClassFile('MyOtherClass', 'NewClass'); $s->setAllowedFileExtensions(array('php')); $s->addFile($this->test_dir); @@ -41,7 +41,7 @@ public function testDontRenameClassFileWithoutAllowedExtension() { public function testRenameClassFileWithFunnyExtension() { $this->populateDir(dirname(__FILE__) . '/_files/classFileFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClassFile('StrangeClass', 'StrangeQuark'); $s->setAllowedFileExtensions(array('php', 'foo')); $s->addFile($this->test_dir); @@ -53,7 +53,7 @@ public function testRenameClassFileWithFunnyExtension() { public function testRenameDirWithNamespacing() { $this->populateDir(dirname(__FILE__) . '/_files/classFileNamespacedFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClassFile('Foo_Bar_Quark', 'Foo_Baz_Quack'); $s->addFile($this->test_dir); $s->run(); @@ -64,7 +64,7 @@ public function testRenameDirWithNamespacing() { public function testDontCreateDirNamespacingIfOriginalIsnt() { $this->populateDir(dirname(__FILE__) . '/_files/classFileNamespacedFixture2', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClassFile('Foo_Bar_Quark', 'Foo_Baz_Quack'); $s->addFile($this->test_dir); $s->run(); @@ -75,7 +75,7 @@ public function testDontCreateDirNamespacingIfOriginalIsnt() { public function testRenameClassFileAndCompareDir() { $this->populateDir(dirname(__FILE__) . '/_files/classFileFixture-dir', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClassFile('Foo', 'Baz'); $s->addFile($this->test_dir); $s->run(); diff --git a/tests/RenameClassFileTest.php b/tests/RenameClassFileTest.php index d7f5789..d75f694 100644 --- a/tests/RenameClassFileTest.php +++ b/tests/RenameClassFileTest.php @@ -7,7 +7,7 @@ class RenameClassFileTest extends Scisr_SingleFileTest public function renameAndCompare($original, $expected, $oldname='Foo', $newname='Baz', $oldfile='Foo.php', $newfile='Baz.php', $aggressive=false) { $this->populateFile($original); - $s = Scisr::createScisr(); + $s = $this->getScisr(); if ($aggressive) { $s->setEditMode(Scisr::MODE_AGGRESSIVE); } diff --git a/tests/RenameClassSystemTest.php b/tests/RenameClassSystemTest.php index 21cee7a..f6b261f 100644 --- a/tests/RenameClassSystemTest.php +++ b/tests/RenameClassSystemTest.php @@ -7,7 +7,7 @@ class RenameClassSystemTest extends Scisr_Tests_MultipleFileTestCase public function testRenameClassAndCompareFile() { $this->populateDir(dirname(__FILE__) . '/_files/cliFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClass('Foo', 'Baz'); $s->addFile($this->test_dir . '/test.php'); $s->run(); @@ -18,7 +18,7 @@ public function testRenameClassAndCompareFile() { public function testRenameClassAndCompareFileWithRelativeDir() { $this->populateDir(dirname(__FILE__) . '/_files/cliFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClass('Foo', 'Baz'); $s->addFile($this->rel_test_dir . '/test.php'); $s->run(); @@ -29,7 +29,7 @@ public function testRenameClassAndCompareFileWithRelativeDir() { public function testRenameClassAndCompareDir() { $this->populateDir(dirname(__FILE__) . '/_files/cliFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClass('Foo', 'Baz'); $s->addFile($this->test_dir); $s->run(); diff --git a/tests/RenameClassTest.php b/tests/RenameClassTest.php index e14bf35..7040b70 100644 --- a/tests/RenameClassTest.php +++ b/tests/RenameClassTest.php @@ -7,7 +7,7 @@ class RenameClassTest extends Scisr_SingleFileTest public function renameAndCompare($original, $expected, $oldname='Foo', $newname='Baz', $aggressive=false) { $this->populateFile($original); - $s = Scisr::createScisr(); + $s = $this->getScisr(); if ($aggressive) { $s->setEditMode(Scisr::MODE_AGGRESSIVE); } diff --git a/tests/RenameFileSystemTest.php b/tests/RenameFileSystemTest.php index 4d693e2..5485daf 100644 --- a/tests/RenameFileSystemTest.php +++ b/tests/RenameFileSystemTest.php @@ -40,7 +40,7 @@ public function testRenameFileWithRelativePath() { public function testDontMoveFileInTimidMode() { $this->populateDir(dirname(__FILE__) . '/_files/renameFileFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setEditMode(Scisr::MODE_TIMID); $s->setRenameFile($this->test_dir . '/test2.php', $this->test_dir . '/otherfolder/things.php'); $s->addFile($this->test_dir); @@ -84,7 +84,7 @@ public function testRenameFileAltersIncludesSwitchPlaces() { } public function doRenameFile($old, $new) { - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameFile($old, $new); $s->addFile($this->test_dir); $s->run(); diff --git a/tests/RenameFileTest.php b/tests/RenameFileTest.php index 11764df..bf0170a 100644 --- a/tests/RenameFileTest.php +++ b/tests/RenameFileTest.php @@ -7,7 +7,7 @@ class RenameFileTest extends Scisr_SingleFileTest public function renameAndCompare($original, $expected, $oldname='Foo.php', $newname='Baz.php', $aggressive=false) { $this->populateFile($original); - $s = Scisr::createScisr(); + $s = $this->getScisr(); if ($aggressive) { $s->setEditMode(Scisr::MODE_AGGRESSIVE); } diff --git a/tests/RenameMethodSystemTest.php b/tests/RenameMethodSystemTest.php index 2174d08..a690879 100644 --- a/tests/RenameMethodSystemTest.php +++ b/tests/RenameMethodSystemTest.php @@ -7,7 +7,7 @@ class RenameMethodSystemTest extends Scisr_Tests_MultipleFileTestCase public function testRenameMethodAndCompareFile() { $this->populateDir(dirname(__FILE__) . '/_files/cliFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameMethod('Foo', 'bar', 'quark', false); $s->addFile($this->test_dir . '/test.php'); $s->run(); @@ -18,7 +18,7 @@ public function testRenameMethodAndCompareFile() { public function testRenameMethodAndCompareDir() { $this->populateDir(dirname(__FILE__) . '/_files/cliFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameMethod('Foo', 'bar', 'quark', false); $s->addFile($this->test_dir); $s->run(); @@ -29,7 +29,7 @@ public function testRenameMethodAndCompareDir() { public function testRenameMethodWithIncludedFile() { $this->populateDir(dirname(__FILE__) . '/_files/renameMethodWithIncludesFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameMethod('Foo', 'bar', 'baz', false); $s->addFile($this->test_dir); $s->run(); @@ -40,7 +40,7 @@ public function testRenameMethodWithIncludedFile() { public function testClassInclusionOrder() { $this->populateDir(dirname(__FILE__) . '/_files/renameMethodWithClassFixture', $this->test_dir); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameMethod('Foo', 'bar', 'baz', false); // We want to force an ordering here $s->addFile($this->test_dir . '/a.php'); diff --git a/tests/RenameMethodTest.php b/tests/RenameMethodTest.php index c48064a..6ebac0e 100644 --- a/tests/RenameMethodTest.php +++ b/tests/RenameMethodTest.php @@ -7,7 +7,7 @@ class RenameMethodTest extends Scisr_SingleFileTest public function renameAndCompare($original, $expected, $class='Foo', $oldmethod='bar', $newmethod='baz', $aggressive=false, $inheritance=false) { $this->populateFile($original); - $s = Scisr::createScisr(); + $s = $this->getScisr(); if ($aggressive) { $s->setEditMode(Scisr::MODE_AGGRESSIVE); } @@ -1427,7 +1427,7 @@ public function testIncludeFileWhenClassUsedStatically() { private function renameAndCompareWithIncludes($orig, $expected, $includedFile) { $this->populateFile($orig); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $sniffer = new MockSniffer($s->getFactory()->getCollaborator('Scisr_Db_Classes'), $s->getFactory()->getCollaborator('Scisr_Db_VariableTypes')); $sniffer->incFile = $includedFile; $sniffer->test_file = $this->test_file; diff --git a/tests/ScisrSingleFileTest.php b/tests/ScisrSingleFileTest.php index 993d51f..74b0612 100644 --- a/tests/ScisrSingleFileTest.php +++ b/tests/ScisrSingleFileTest.php @@ -7,12 +7,12 @@ class ScisrTest extends Scisr_SingleFileTest public function parseCode($code) { $this->populateFile($code); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameClass('dummy', 'dummy2'); $s->addFile($this->test_file); $s->run(); - $s = Scisr::createScisr(); + $s = $this->getScisr(); $s->setRenameMethod('DummyClass', 'dummy', 'dummy2', false); $s->addFile($this->test_file); $s->run(); diff --git a/tests/Scisr_TestCase.php b/tests/Scisr_TestCase.php index c91b997..0b7868b 100644 --- a/tests/Scisr_TestCase.php +++ b/tests/Scisr_TestCase.php @@ -6,14 +6,22 @@ class Scisr_TestCase extends PHPUnit_Framework_TestCase { public function setUp() { - Scisr_Db::clearDb(); chdir(dirname(__FILE__)); } public function tearDown() { - Scisr_Db::clearDb(); Scisr_ChangeRegistry::clearAll(); chdir(dirname(__FILE__)); } + public function getDb() + { + return new PDO('sqlite::memory:'); + } + + public function getScisr($className = 'Scisr') + { + return Scisr::createScisr($className, $this->getDb()); + } + }