drupalmoduleupgrader-8.x-1.5/tests/src/Unit/Utility/Filter/ContainsLogicFilterTest.php
tests/src/Unit/Utility/Filter/ContainsLogicFilterTest.php
<?php
namespace Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Filter;
use Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter;
use Drupal\Tests\UnitTestCase;
use Pharborist\Parser;
/**
* @group DMU.Utility.Filter
*/
class ContainsLogicFilterTest extends UnitTestCase {
/**
* @var \Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter
*/
protected $filter;
public function setUp(): void {
$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));
}
}
