@@ -33,15 +33,19 @@ class WordPressCoreInstallerTest extends TestCase
3333{
3434 public function testSupports ()
3535 {
36- $ installer = new WordPressCoreInstaller (new NullIO (), $ this ->createComposer ());
36+ $ composer = $ this ->createComposer ();
37+ $ composer ->setPackage (new RootPackage ('root/package ' , '1.0.0 ' , '1.0.0 ' ));
38+ $ installer = new WordPressCoreInstaller (new NullIO (), $ composer );
3739
3840 $ this ->assertTrue ($ installer ->supports ('wordpress-core ' ));
3941 $ this ->assertFalse ($ installer ->supports ('not-wordpress-core ' ));
4042 }
4143
4244 public function testDefaultInstallDir ()
4345 {
44- $ installer = new WordPressCoreInstaller (new NullIO (), $ this ->createComposer ());
46+ $ composer = $ this ->createComposer ();
47+ $ composer ->setPackage (new RootPackage ('root/package ' , '1.0.0 ' , '1.0.0 ' ));
48+ $ installer = new WordPressCoreInstaller (new NullIO (), $ composer );
4549 $ package = new Package ('johnpbloch/test-package ' , '1.0.0.0 ' , '1.0.0 ' );
4650
4751 $ this ->assertEquals ('wordpress ' , $ installer ->getInstallPath ($ package ));
@@ -96,7 +100,9 @@ public function testArrayOfInstallDirs()
96100
97101 public function testCorePackageCanDefineInstallDirectory ()
98102 {
99- $ installer = new WordPressCoreInstaller (new NullIO (), $ this ->createComposer ());
103+ $ composer = $ this ->createComposer ();
104+ $ composer ->setPackage (new RootPackage ('root/package ' , '1.0.0 ' , '1.0.0 ' ));
105+ $ installer = new WordPressCoreInstaller (new NullIO (), $ composer );
100106 $ package = new Package ('test/has-default-install-dir ' , '0.1.0.0 ' , '0.1 ' );
101107 $ package ->setExtra (array (
102108 'wordpress-install-dir ' => 'not-wordpress ' ,
@@ -128,6 +134,7 @@ public function testTwoPackagesCannotShareDirectory()
128134 'Two packages (test/bazbat and test/foobar) cannot share the same directory! '
129135 );
130136 $ composer = $ this ->createComposer ();
137+ $ composer ->setPackage (new RootPackage ('root/package ' , '1.0.0 ' , '1.0.0 ' ));
131138 $ installer = new WordPressCoreInstaller (new NullIO (), $ composer );
132139 $ package1 = new Package ('test/foobar ' , '1.1.1.1 ' , '1.1.1.1 ' );
133140 $ package2 = new Package ('test/bazbat ' , '1.1.1.1 ' , '1.1.1.1 ' );
@@ -139,6 +146,7 @@ public function testTwoPackagesCannotShareDirectory()
139146 public function testTwoPackagesCannotShareDirectoryUnlessWpCoreType ()
140147 {
141148 $ composer = $ this ->createComposer ();
149+ $ composer ->setPackage (new RootPackage ('root/package ' , '1.0.0 ' , '1.0.0 ' ));
142150 $ installer = new WordPressCoreInstaller (new NullIO (), $ composer );
143151 $ package1 = new Package ('johnpbloch/wordpress ' , '4.9.8 ' , '4.9.8 ' );
144152 $ package1 ->setType ('wordpress-core ' );
@@ -162,6 +170,7 @@ public function testSensitiveInstallDirectoriesNotAllowed($directory)
162170 true
163171 );
164172 $ composer = $ this ->createComposer ();
173+ $ composer ->setPackage (new RootPackage ('root/package ' , '1.0.0 ' , '1.0.0 ' ));
165174 $ installer = new WordPressCoreInstaller (new NullIO (), $ composer );
166175 $ package = new Package ('test/package ' , '1.1.0.0 ' , '1.1 ' );
167176 $ package ->setExtra (array ( 'wordpress-install-dir ' => $ directory ));
@@ -193,7 +202,16 @@ public static function resetInstallPaths()
193202 private function createComposer ()
194203 {
195204 $ composer = new Composer ();
196- $ composer ->setConfig (new Config ());
205+ $ config = new Config ();
206+ $ composer ->setConfig ($ config );
207+
208+ // Set up DownloadManager with proper Filesystem
209+ $ downloadManager = new \Composer \Downloader \DownloadManager (
210+ new \Composer \IO \NullIO (),
211+ false ,
212+ new \Composer \Util \Filesystem ()
213+ );
214+ $ composer ->setDownloadManager ($ downloadManager );
197215
198216 return $ composer ;
199217 }
0 commit comments