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));
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc