public function GenericTest::testRewriteFieldLookup in Drupal 7 to 8/9 Module Upgrader 8
File
- tests/src/Unit/Plugin/DMU/Rewriter/GenericTest.php, line 72
Class
- GenericTest
- @group DMU.Rewriter
@covers \Drupal\drupalmoduleupgrader\Plugin\DMU\Rewriter\Generic
Namespace
Drupal\Tests\drupalmoduleupgrader\Unit\Plugin\DMU\Rewriter
Code
public function testRewriteFieldLookup() {
$lookup = Parser::parseExpression('$node->field_foo[LANGUAGE_NONE][0]["value"]');
$rewritten = GenericRewriter::rewriteFieldLookup($lookup);
$this
->assertInstanceOf('\\Pharborist\\Objects\\ObjectPropertyNode', $rewritten);
$this
->assertEquals('$node->field_foo[0]->value', $rewritten
->getText());
$lookup = Parser::parseExpression('$node->field_foo[\\Drupal\\Core\\Language\\Language::LANGCODE_NOT_SPECIFIED][0]["value"]');
$rewritten = GenericRewriter::rewriteFieldLookup($lookup);
$this
->assertInstanceOf('\\Pharborist\\Objects\\ObjectPropertyNode', $rewritten);
$this
->assertEquals('$node->field_foo[0]->value', $rewritten
->getText());
$lookup = Parser::parseExpression('$node->field_foo["und"][0]["value"]');
$rewritten = GenericRewriter::rewriteFieldLookup($lookup);
$this
->assertInstanceOf('\\Pharborist\\Objects\\ObjectPropertyNode', $rewritten);
$this
->assertEquals('$node->field_foo[0]->value', $rewritten
->getText());
$lookup = Parser::parseExpression('$node->field_foo["en"][0]["value"]');
$rewritten = GenericRewriter::rewriteFieldLookup($lookup);
$this
->assertInstanceOf('\\Pharborist\\Objects\\ObjectPropertyNode', $rewritten);
$this
->assertEquals('$node->getTranslation("en")->field_foo[0]->value', $rewritten
->getText());
$lookup = Parser::parseExpression('$node->field_foo["und"][2]["wambooli"]');
$rewritten = GenericRewriter::rewriteFieldLookup($lookup);
$this
->assertInstanceOf('\\Pharborist\\Objects\\ObjectPropertyNode', $rewritten);
$this
->assertEquals('$node->field_foo[2]->wambooli', $rewritten
->getText());
}