mageekguy\atoum\fs\path::isSubPathOf PHP Method

isSubPathOf() public method

public isSubPathOf ( path $path )
$path path
    public function isSubPathOf(path $path)
    {
        $this->resolve();
        $resolvedPath = $path->getResolvedPath();
        return $this->components !== $resolvedPath->components && ($resolvedPath->isRoot() === true || strpos($this->components, $resolvedPath->components . '/') === 0);
    }

Usage Example

Example #1
0
 public function testIsSubPathOf()
 {
     $this->if($reference = new testedClass('/a/b', DIRECTORY_SEPARATOR))->then->if($path = new testedClass('/a/b/c/d/e/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/e', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/a/b', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/a', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/a/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->given($reference = new testedClass('/', DIRECTORY_SEPARATOR))->then->if($path = new testedClass('/a/b/c/d/e/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/e', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->given($referenceAdapter = new atoum\test\adapter())->and($referenceAdapter->getcwd = '/a/b')->and($reference = new testedClass('d/e/../..', DIRECTORY_SEPARATOR, $referenceAdapter))->then->if($path = new testedClass('/a/b/c/d/e/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/e', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/a/b', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/a', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/a/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->if($path = new testedClass('/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse()->given($reference = new testedClass('/', DIRECTORY_SEPARATOR))->then->if($path = new testedClass('/a/b/c/d/e/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/e', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/d/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/c/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/b', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/a/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isTrue()->if($path = new testedClass('/', DIRECTORY_SEPARATOR))->then->boolean($path->isSubPathOf($reference))->isFalse();
 }