You are here

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;

/**
 * @group DMU.Utility.Filter
 */
class ContainsLogicFilterTest extends UnitTestCase {

  /**
   * @var \Drupal\drupalmoduleupgrader\Utility\Filter\ContainsLogicFilter
   */
  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));
  }

}

Classes

Namesort descending Description
ContainsLogicFilterTest @group DMU.Utility.Filter