ContainsLogicFilterTest.php in Drupal 7 to 8/9 Module Upgrader 8
File
tests/src/Unit/Utility/Filter/ContainsLogicFilterTest.php
View source
<?php
namespace Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Filter;
use Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter;
use Drupal\Tests\UnitTestCase;
use Pharborist\Parser;
class ContainsLogicFilterTest extends UnitTestCase {
protected $filter;
public function setUp() {
$this->filter = new ContainsLogicFilter();
}
public function testFunctionCallIsLogic() {
$this
->assertTrue(Parser::parseSnippet('function foo() { bar(); }')
->is($this->filter));
}
public function testWhiteListedFunctionCallIsNotLogic() {
$this->filter
->whitelist('bar');
$this
->assertFalse(Parser::parseSnippet('function foo() { bar(); }')
->is($this->filter));
}
public function testIfIsLogic() {
$this
->assertTrue(Parser::parseSnippet('function foo() { if (true) return TRUE; }')
->is($this->filter));
}
public function testSwitchIsLogic() {
$function = <<<'END'
function foo() {
switch ($baz) {
case 'a':
case 'b':
default:
break;
}
}
END;
$this
->assertTrue(Parser::parseSnippet($function)
->is($this->filter));
}
public function testClassMethodCallIsLogic() {
$this
->assertTrue(Parser::parseSnippet('function foo() { return \\Drupal::config(); }')
->is($this->filter));
}
public function testObjectMethodCallIsLogic() {
$this
->assertTrue(Parser::parseSnippet('function foo() { return \\Drupal::config()->get("foo.settings"); }')
->is($this->filter));
}
public function testObjectInstantiationIsLogic() {
$this
->assertTrue(Parser::parseSnippet('function foo() { return new Entity(); }')
->is($this->filter));
}
}