Gregwar\RST\Parser::setIncludePolicy PHP Метод

setIncludePolicy() публичный Метод

Allow/disallow includes, or restrict them to a directory
public setIncludePolicy ( boolean $allow, string $directory = null ) : self
$allow boolean
$directory string
Результат self
    public function setIncludePolicy($allow, $directory = null)
    {
        $this->includeAllowed = !empty($allow);
        if ($directory !== null) {
            $this->includeRoot = (string) $directory;
        }
        return $this;
    }

Usage Example

Пример #1
0
 public function testIncludesPolicy()
 {
     $directory = __DIR__ . '/files/';
     $parser = new Parser();
     $environment = $parser->getEnvironment();
     $environment->setCurrentDirectory($directory);
     // Test defaults
     $this->assertTrue($parser->getIncludeAllowed());
     $this->assertSame('', $parser->getIncludeRoot());
     // Default policy:
     $document = (string) $parser->parseFile($directory . 'inclusion-policy.rst');
     $this->assertContains('SUBDIRECTORY OK', $document);
     $this->assertContains('EXTERNAL FILE INCLUDED!', $document);
     // Disbaled policy:
     $parser->setIncludePolicy(false);
     $nodes = $parser->parseFile($directory . 'inclusion-policy.rst')->getNodes();
     $this->assertCount(1, $nodes);
     // Enabled
     $parser->setIncludePolicy(true);
     $nodes = $parser->parseFile($directory . 'inclusion-policy.rst')->getNodes();
     $this->assertCount(6, $nodes);
     // Jailed
     $parser->setIncludePolicy(true, $directory);
     $nodes = $parser->parseFile($directory . 'inclusion-policy.rst')->getNodes();
     $this->assertCount(5, $nodes);
 }