Browse Source

Moved tests that are expected to work into their own directory.
Added test for composer.json in incorrect directory.

Danack 11 years ago
parent
commit
bc76e0014b

+ 48 - 1
tests/Composer/Test/Repository/ArtifactRepositoryTest.php

@@ -26,9 +26,11 @@ class ArtifactRepositoryTest extends TestCase
             'composer/composer-1.0.0-alpha6',
             'vendor1/package2-4.3.2',
             'vendor3/package1-5.4.3',
+            'test/jsonInRoot-1.0.0',
+            'test/jsonInFirstLevel-1.0.0'
         );
 
-        $coordinates = array('type' => 'artifact', 'url' => __DIR__ . '/Fixtures/artifacts');
+        $coordinates = array('type' => 'artifact', 'url' => __DIR__ . '/Fixtures/artifacts/correct');
         $repo = new ArtifactRepository($coordinates, new NullIO(), new Config());
 
         $foundPackages = array_map(function(BasePackage $package) {
@@ -40,4 +42,49 @@ class ArtifactRepositoryTest extends TestCase
 
         $this->assertSame($expectedPackages, $foundPackages);
     }
+
+    public function testExtractConfigFails()
+    {
+        $this->setExpectedException('RuntimeException', "Shouldn't have picked up composer.json from a location other than root or first level directory.");
+
+        $coordinates = array('type' => 'artifact', 'url' => __DIR__ . '/Fixtures/artifacts/error/jsonWrongDirectory');
+        new ArtifactRepository($coordinates, new NullIO(), new Config());
+    }
 }
+
+//$archivesToCreate = array(
+//    'jsonInRoot' => array(
+//        "extra.txt"     => "Testing testing testing",
+//        "composer.json" => '{  "name": "test/jsonInRoot", "version": "1.0.0" }',
+//        "subdir/extra.txt"     => "Testing testing testing",
+//        "subdir/extra2.txt"     => "Testing testing testing",
+//    ),
+//
+//    'jsonInFirstLevel' => array(
+//        "extra.txt"     => "Testing testing testing",
+//        "subdir/composer.json" => '{  "name": "test/jsonInFirstLevel", "version": "1.0.0" }',
+//        "subdir/extra.txt"     => "Testing testing testing",
+//        "subdir/extra2.txt"     => "Testing testing testing",
+//    ),
+//
+//    'jsonInSecondLevel' => array(
+//        "extra.txt"     => "Testing testing testing",
+//        "subdir/extra1.txt"     => "Testing testing testing",
+//        "subdir/foo/composer.json" => '{  "name": "test/jsonInSecondLevel", "version": "1.0.0" }',
+//        "subdir/foo/extra1.txt"     => "Testing testing testing",
+//        "subdir/extra2.txt"     => "Testing testing testing",
+//        "subdir/extra3.txt"     => "Testing testing testing",
+//    ),
+//);
+//
+//foreach($archivesToCreate as $archiveName => $fileDetails) {
+//    $zipFile = new ZipArchive();
+//    $zipFile->open("$archiveName.zip", ZIPARCHIVE::CREATE);
+//
+//    foreach ($fileDetails as $filename => $fileContents) {
+//        $zipFile->addFromString($filename, $fileContents);
+//    }
+//
+//    $zipFile->close();
+//}
+

+ 0 - 0
tests/Composer/Test/Repository/Fixtures/artifacts/composer-1.0.0-alpha6.zip → tests/Composer/Test/Repository/Fixtures/artifacts/correct/composer-1.0.0-alpha6.zip


+ 0 - 0
tests/Composer/Test/Repository/Fixtures/artifacts/not-an-artifact.zip → tests/Composer/Test/Repository/Fixtures/artifacts/correct/not-an-artifact.zip


+ 0 - 0
tests/Composer/Test/Repository/Fixtures/artifacts/package0.zip → tests/Composer/Test/Repository/Fixtures/artifacts/correct/package0.zip


+ 0 - 0
tests/Composer/Test/Repository/Fixtures/artifacts/package2.zip → tests/Composer/Test/Repository/Fixtures/artifacts/correct/package2.zip


+ 0 - 0
tests/Composer/Test/Repository/Fixtures/artifacts/subfolder/not-an-artifact.zip → tests/Composer/Test/Repository/Fixtures/artifacts/correct/subfolder/not-an-artifact.zip


+ 0 - 0
tests/Composer/Test/Repository/Fixtures/artifacts/subfolder/package1.zip → tests/Composer/Test/Repository/Fixtures/artifacts/correct/subfolder/package1.zip