404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.17.165.223: ~ $
<?php declare(strict_types = 1);
/*
 * This file is part of PharIo\Manifest.
 *
 * (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace PharIo\Manifest;

use PharIo\Version\AnyVersionConstraint;
use PharIo\Version\Version;
use PharIo\Version\VersionConstraint;
use PharIo\Version\VersionConstraintParser;
use PHPUnit\Framework\TestCase;

/**
 * @covers \PharIo\Manifest\Extension
 * @covers \PharIo\Manifest\Type
 *
 * @uses \PharIo\Version\VersionConstraint
 * @uses \PharIo\Manifest\ApplicationName
 */
class ExtensionTest extends TestCase {
    /** @var Extension */
    private $type;

    /** @var ApplicationName|\PHPUnit_Framework_MockObject_MockObject */
    private $name;

    protected function setUp(): void {
        $this->name = $this->createMock(ApplicationName::class);
        $this->type = Type::extension($this->name, new AnyVersionConstraint);
    }

    public function testCanBeCreated(): void {
        $this->assertInstanceOf(Extension::class, $this->type);
    }

    public function testIsNotApplication(): void {
        $this->assertFalse($this->type->isApplication());
    }

    public function testIsNotLibrary(): void {
        $this->assertFalse($this->type->isLibrary());
    }

    public function testIsExtension(): void {
        $this->assertTrue($this->type->isExtension());
    }

    public function testApplicationCanBeRetrieved(): void {
        $this->assertInstanceOf(ApplicationName::class, $this->type->getApplicationName());
    }

    public function testVersionConstraintCanBeRetrieved(): void {
        $this->assertInstanceOf(
            VersionConstraint::class,
            $this->type->getVersionConstraint()
        );
    }

    public function testApplicationCanBeQueried(): void {
        $this->name->method('isEqual')->willReturn(true);
        $this->assertTrue(
            $this->type->isExtensionFor($this->createMock(ApplicationName::class))
        );
    }

    public function testCompatibleWithReturnsTrueForMatchingVersionConstraintAndApplication(): void {
        $app       = new ApplicationName('foo/bar');
        $extension = Type::extension($app, (new VersionConstraintParser)->parse('^1.0'));
        $version   = new Version('1.0.0');

        $this->assertTrue(
            $extension->isCompatibleWith($app, $version)
        );
    }

    public function testCompatibleWithReturnsFalseForNotMatchingVersionConstraint(): void {
        $app       = new ApplicationName('foo/bar');
        $extension = Type::extension($app, (new VersionConstraintParser)->parse('^1.0'));
        $version   = new Version('2.0.0');

        $this->assertFalse(
            $extension->isCompatibleWith($app, $version)
        );
    }

    public function testCompatibleWithReturnsFalseForNotMatchingApplication(): void {
        $app1      = new ApplicationName('foo/bar');
        $app2      = new ApplicationName('foo/foo');
        $extension = Type::extension($app1, (new VersionConstraintParser)->parse('^1.0'));
        $version   = new Version('1.0.0');

        $this->assertFalse(
            $extension->isCompatibleWith($app2, $version)
        );
    }
}

Filemanager

Name Type Size Permission Actions
ApplicationNameTest.php File 1.55 KB 0644
ApplicationTest.php File 1.13 KB 0644
AuthorCollectionTest.php File 1.7 KB 0644
AuthorTest.php File 1.28 KB 0644
BundledComponentCollectionTest.php File 1.79 KB 0644
BundledComponentTest.php File 1.24 KB 0644
CopyrightInformationTest.php File 1.79 KB 0644
EmailTest.php File 1.03 KB 0644
ExtensionTest.php File 3.37 KB 0644
LibraryTest.php File 1.11 KB 0644
LicenseTest.php File 1.23 KB 0644
ManifestTest.php File 5.63 KB 0644
PhpExtensionRequirementTest.php File 844 B 0644
PhpVersionRequirementTest.php File 1.12 KB 0644
RequirementCollectionTest.php File 1.79 KB 0644
UrlTest.php File 1 KB 0644