3 namespace Drupal\Tests\drupalmoduleupgrader\Unit\Plugin\DMU\Converter\Functions;
9 * @group DMU.Converter.Functions
10 * @covers \Drupal\drupalmoduleupgrader\Plugin\DMU\Converter\Functions\VariableGet
12 class VariableGetTest extends FunctionCallModifierTestBase {
14 public function testNonStringKey() {
17 variable_get($my_var, TRUE);
22 // The correct configuration object could not be determined. You'll need to
23 // rewrite this call manually.
24 variable_get($my_var, TRUE);
27 $snippet = Parser::parseSource($original);
28 $function_call = $snippet->find(Filter::isFunctionCall('variable_get'))->get(0);
29 $rewritten = $this->plugin->rewrite($function_call, $this->target);
30 $this->assertNull($rewritten);
31 $this->assertSame($expected, $snippet->getText());
34 public function testForeignStringKey() {
37 variable_get('bar_wambooli', TRUE);
42 // This looks like another module's variable. You'll need to rewrite this call
43 // to ensure that it uses the correct configuration object.
44 variable_get('bar_wambooli', TRUE);
47 $snippet = Parser::parseSource($original);
48 $function_call = $snippet->find(Filter::isFunctionCall('variable_get'))->get(0);
49 $rewritten = $this->plugin->rewrite($function_call, $this->target);
50 $this->assertNull($rewritten);
51 $this->assertSame($expected, $snippet->getText());
54 public function testStringKeyAndUnextractableDefaultValue() {
57 variable_get('foo_wambooli', array());
62 // Could not extract the default value because it is either indeterminate, or
63 // not scalar. You'll need to provide a default value in
64 // config/install/@module.settings.yml and config/schema/@module.schema.yml.
65 variable_get('foo_wambooli', array());
68 $snippet = Parser::parseSource($original);
69 $function_call = $snippet->find(Filter::isFunctionCall('variable_get'))->get(0);
70 $rewritten = $this->plugin->rewrite($function_call, $this->target);
71 $this->assertInstanceOf('\Pharborist\Objects\ObjectMethodCallNode', $rewritten);
72 $this->assertEquals('\Drupal::config(\'foo.settings\')->get(\'foo_wambooli\')', $rewritten->getText());
73 $this->assertSame($expected, $snippet->getText());
76 public function testStringKeyAndExtractableDefaultValue() {
77 $function_call = Parser::parseExpression('variable_get("foo_wambooli", 30)');
78 $rewritten = $this->plugin->rewrite($function_call, $this->target);
79 $this->assertInstanceOf('\Pharborist\Objects\ObjectMethodCallNode', $rewritten);
80 $this->assertEquals('\Drupal::config(\'foo.settings\')->get("foo_wambooli")', $rewritten->getText());