Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / tests / src / Unit / Utility / Filter / ContainsLogicFilterTest.php
1 <?php
2
3 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Filter;
4
5 use Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter;
6 use Drupal\Tests\UnitTestCase;
7 use Pharborist\Parser;
8
9 /**
10  * @group DMU.Utility.Filter
11  */
12 class ContainsLogicFilterTest extends UnitTestCase {
13
14   /**
15    * @var \Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter
16    */
17   protected $filter;
18
19   public function setUp() {
20     $this->filter = new ContainsLogicFilter();
21   }
22
23   public function testFunctionCallIsLogic() {
24     $this->assertTrue(Parser::parseSnippet('function foo() { bar(); }')->is($this->filter));
25   }
26
27   public function testWhiteListedFunctionCallIsNotLogic() {
28     $this->filter->whitelist('bar');
29     $this->assertFalse(Parser::parseSnippet('function foo() { bar(); }')->is($this->filter));
30   }
31
32   public function testIfIsLogic() {
33     $this->assertTrue(Parser::parseSnippet('function foo() { if (true) return TRUE; }')->is($this->filter));
34   }
35
36   public function testSwitchIsLogic() {
37     $function = <<<'END'
38 function foo() {
39   switch ($baz) {
40     case 'a':
41     case 'b':
42     default:
43       break;
44   }
45 }
46 END;
47     $this->assertTrue(Parser::parseSnippet($function)->is($this->filter));
48   }
49
50   public function testClassMethodCallIsLogic() {
51     $this->assertTrue(Parser::parseSnippet('function foo() { return \Drupal::config(); }')->is($this->filter));
52   }
53
54   public function testObjectMethodCallIsLogic() {
55     $this->assertTrue(Parser::parseSnippet('function foo() { return \Drupal::config()->get("foo.settings"); }')->is($this->filter));
56   }
57
58   public function testObjectInstantiationIsLogic() {
59     $this->assertTrue(Parser::parseSnippet('function foo() { return new Entity(); }')->is($this->filter));
60   }
61
62 }