当前位置: 首页>>代码示例>>PHP>>正文


PHP Package::getTargetDir方法代码示例

本文整理汇总了PHP中Composer\Package\Package::getTargetDir方法的典型用法代码示例。如果您正苦于以下问题:PHP Package::getTargetDir方法的具体用法?PHP Package::getTargetDir怎么用?PHP Package::getTargetDir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Composer\Package\Package的用法示例。


在下文中一共展示了Package::getTargetDir方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testGetTargetDir

 public function testGetTargetDir()
 {
     $package = new Package('a', '1.0.0.0', '1.0');
     $this->assertNull($package->getTargetDir());
     $package->setTargetDir('./../foo/');
     $this->assertEquals('foo/', $package->getTargetDir());
     $package->setTargetDir('foo/../../../bar/');
     $this->assertEquals('foo/bar/', $package->getTargetDir());
     $package->setTargetDir('../..');
     $this->assertEquals('', $package->getTargetDir());
     $package->setTargetDir('..');
     $this->assertEquals('', $package->getTargetDir());
     $package->setTargetDir('/..');
     $this->assertEquals('', $package->getTargetDir());
     $package->setTargetDir('/foo/..');
     $this->assertEquals('foo/', $package->getTargetDir());
     $package->setTargetDir('/foo/..//bar');
     $this->assertEquals('foo/bar', $package->getTargetDir());
 }
开发者ID:alancleaver,项目名称:composer,代码行数:19,代码来源:CompletePackageTest.php

示例2: testVendorDirExcludedFromWorkingDir

    public function testVendorDirExcludedFromWorkingDir()
    {
        $workingDir = $this->vendorDir . '/working-dir';
        $vendorDir = $workingDir . '/../vendor';
        $this->fs->ensureDirectoryExists($workingDir);
        chdir($workingDir);
        $package = new Package('a', '1.0', '1.0');
        $package->setAutoload(array('psr-0' => array('Foo' => 'src'), 'psr-4' => array('Acme\\Foo\\' => 'src-psr4'), 'classmap' => array('classmap'), 'files' => array('test.php')));
        $vendorPackage = new Package('b/b', '1.0', '1.0');
        $vendorPackage->setAutoload(array('psr-0' => array('Bar' => 'lib'), 'psr-4' => array('Acme\\Bar\\' => 'lib-psr4'), 'classmap' => array('classmaps'), 'files' => array('bootstrap.php')));
        $this->repository->expects($this->once())->method('getCanonicalPackages')->will($this->returnValue(array($vendorPackage)));
        $im = $this->getMockBuilder('Composer\\Installer\\InstallationManager')->disableOriginalConstructor()->getMock();
        $im->expects($this->any())->method('getInstallPath')->will($this->returnCallback(function ($package) use($vendorDir) {
            $targetDir = $package->getTargetDir();
            return $vendorDir . '/' . $package->getName() . ($targetDir ? '/' . $targetDir : '');
        }));
        $this->fs->ensureDirectoryExists($workingDir . '/src/Foo');
        $this->fs->ensureDirectoryExists($workingDir . '/classmap');
        $this->fs->ensureDirectoryExists($vendorDir . '/composer');
        $this->fs->ensureDirectoryExists($vendorDir . '/b/b/lib/Bar');
        $this->fs->ensureDirectoryExists($vendorDir . '/b/b/classmaps');
        file_put_contents($workingDir . '/src/Foo/Bar.php', '<?php namespace Foo; class Bar {}');
        file_put_contents($workingDir . '/classmap/classes.php', '<?php namespace Foo; class Foo {}');
        file_put_contents($workingDir . '/test.php', '<?php class Foo {}');
        file_put_contents($vendorDir . '/b/b/lib/Bar/Foo.php', '<?php namespace Bar; class Foo {}');
        file_put_contents($vendorDir . '/b/b/classmaps/classes.php', '<?php namespace Bar; class Bar {}');
        file_put_contents($vendorDir . '/b/b/bootstrap.php', '<?php class Bar {}');
        $oldVendorDir = $this->vendorDir;
        $this->vendorDir = $vendorDir;
        $this->generator->dump($this->config, $this->repository, $package, $im, 'composer', true, '_13');
        $this->vendorDir = $oldVendorDir;
        $expectedNamespace = <<<'EOF'
<?php

// autoload_namespaces.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir).'/working-dir';

return array(
    'Foo' => array($baseDir . '/src'),
    'Bar' => array($vendorDir . '/b/b/lib'),
);

EOF;
        $expectedPsr4 = <<<'EOF'
<?php

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir).'/working-dir';

return array(
    'Acme\\Foo\\' => array($baseDir . '/src-psr4'),
    'Acme\\Bar\\' => array($vendorDir . '/b/b/lib-psr4'),
);

EOF;
        $expectedClassmap = <<<'EOF'
<?php

// autoload_classmap.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir).'/working-dir';

return array(
    'Bar\\Bar' => $vendorDir . '/b/b/classmaps/classes.php',
    'Bar\\Foo' => $vendorDir . '/b/b/lib/Bar/Foo.php',
    'Foo\\Bar' => $baseDir . '/src/Foo/Bar.php',
    'Foo\\Foo' => $baseDir . '/classmap/classes.php',
);

EOF;
        $this->assertEquals($expectedNamespace, file_get_contents($vendorDir . '/composer/autoload_namespaces.php'));
        $this->assertEquals($expectedPsr4, file_get_contents($vendorDir . '/composer/autoload_psr4.php'));
        $this->assertEquals($expectedClassmap, file_get_contents($vendorDir . '/composer/autoload_classmap.php'));
        $this->assertContains("\n    \$vendorDir . '/b/b/bootstrap.php',\n", file_get_contents($vendorDir . '/composer/autoload_files.php'));
        $this->assertContains("\n    \$baseDir . '/test.php',\n", file_get_contents($vendorDir . '/composer/autoload_files.php'));
    }
开发者ID:Teino1978-Corp,项目名称:Teino1978-Corp-composer,代码行数:81,代码来源:AutoloadGeneratorTest.php


注:本文中的Composer\Package\Package::getTargetDir方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。