drupalmoduleupgrader-8.x-1.5/tests/src/Unit/Plugin/DMU/Converter/Functions/NodeLoadTest.php

tests/src/Unit/Plugin/DMU/Converter/Functions/NodeLoadTest.php
<?php

namespace Drupal\Tests\drupalmoduleupgrader\Unit\Plugin\DMU\Converter\Functions;

use Pharborist\Filter;
use Pharborist\Parser;

/**
 * @group DMU.Converter.Functions
 * @covers \Drupal\drupalmoduleupgrader\Plugin\DMU\Converter\Functions\NodeLoad
 */
class NodeLoadTest extends FunctionCallModifierTestBase {

  public function testRewriteWithNidOnly() {
    $function_call = Parser::parseExpression('node_load(30)');
    $rewritten = $this->plugin->rewrite($function_call, $this->target);
    $this->assertInstanceOf('\Pharborist\Objects\ObjectMethodCallNode', $rewritten);
    $this->assertEquals('\Drupal::entityTypeManager()->getStorage(\'node\')->load(30)', $rewritten->getText());
  }

  public function testRewriteWithVid() {
    $function_call = Parser::parseExpression('node_load(30, 32)');
    $rewritten = $this->plugin->rewrite($function_call, $this->target);
    $this->assertInstanceOf('\Pharborist\Objects\ObjectMethodCallNode', $rewritten);
    $this->assertEquals('\Drupal::entityTypeManager()->getStorage(\'node\')->loadRevision(32)', $rewritten->getText());
  }

  /**
   * This test is failing at the moment because for whatever reason,
   * $snippet->children() is only fetching the first call to node_load().
   */
  public function _testRewriteWithCacheReset() {
    $original = <<<'END'
node_load(30);
node_load(30, TRUE);
node_load(30, 32);
node_load(30, 32, TRUE);
END;
    $expected = <<<'END'
\Drupal::entityTypeManager()->getStorage('user')->load(30);
// FIXME: To reset the node cache, use EntityStorageInterface::resetCache().
\Drupal::entityTypeManager()->getStorage('user')->load(30);
\Drupal::entityTypeManager()->getStorage('user')->loadRevision(32);
// FIXME: To reset the node cache, use EntityStorageInterface::resetCache().
\Drupal::entityTypeManager()->getStorage('user')->loadRevision(32);
END;
    $snippet = Parser::parseSnippet($original);
    $function_calls = $snippet->children(Filter::isFunctionCall('node_load'));
    foreach ($function_calls as $function_call) {
      $rewritten = $this->plugin->rewrite($function_call, $this->target);
      $function_call->replaceWith($rewritten);
    }
    $this->assertEquals($expected, $snippet->getText());
  }

}

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

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