3 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Filter;
5 use Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter;
6 use Drupal\Tests\UnitTestCase;
10 * @group DMU.Utility.Filter
12 class ContainsLogicFilterTest extends UnitTestCase {
15 * @var \Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter
19 public function setUp() {
20 $this->filter = new ContainsLogicFilter();
23 public function testFunctionCallIsLogic() {
24 $this->assertTrue(Parser::parseSnippet('function foo() { bar(); }')->is($this->filter));
27 public function testWhiteListedFunctionCallIsNotLogic() {
28 $this->filter->whitelist('bar');
29 $this->assertFalse(Parser::parseSnippet('function foo() { bar(); }')->is($this->filter));
32 public function testIfIsLogic() {
33 $this->assertTrue(Parser::parseSnippet('function foo() { if (true) return TRUE; }')->is($this->filter));
36 public function testSwitchIsLogic() {
47 $this->assertTrue(Parser::parseSnippet($function)->is($this->filter));
50 public function testClassMethodCallIsLogic() {
51 $this->assertTrue(Parser::parseSnippet('function foo() { return \Drupal::config(); }')->is($this->filter));
54 public function testObjectMethodCallIsLogic() {
55 $this->assertTrue(Parser::parseSnippet('function foo() { return \Drupal::config()->get("foo.settings"); }')->is($this->filter));
58 public function testObjectInstantiationIsLogic() {
59 $this->assertTrue(Parser::parseSnippet('function foo() { return new Entity(); }')->is($this->filter));