Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / tests / src / Unit / Utility / Filter / FunctionCallArgumentFilterTest.php
diff --git a/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Utility/Filter/FunctionCallArgumentFilterTest.php b/web/modules/contrib/drupalmoduleupgrader/tests/src/Unit/Utility/Filter/FunctionCallArgumentFilterTest.php
new file mode 100644 (file)
index 0000000..a967436
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+namespace Drupal\Tests\drupalmoduleupgrader\Unit\Utility\Filter;
+
+use Drupal\drupalmoduleupgrader\Utility\Filter\FunctionCallArgumentFilter;
+use Drupal\Tests\UnitTestCase;
+use Pharborist\Parser;
+
+/**
+ * @group DMU.Utility.Filter
+ */
+class FunctionCallArgumentFilterTest extends UnitTestCase {
+
+  /**
+   * @var \Drupal\drupalmoduleupgrader\Utility\Filter\FunctionCallArgumentFilter
+   */
+  protected $filter;
+
+  public function setUp() {
+    $this->filter = new FunctionCallArgumentFilter('foo');
+  }
+
+  public function testFailIfNotCallNode() {
+    $this->assertFalse(Parser::parseExpression('$foo[0]')->is($this->filter));
+  }
+
+  public function testFailIfCallNotHasArgument() {
+    $this->assertFalse(Parser::parseExpression('baz(0, "foo", bar())')->is($this->filter));
+  }
+
+  public function testFailIfVariableIsChild() {
+    $this->assertFalse(Parser::parseExpression('baz($foo[0])')->is($this->filter));
+  }
+
+  public function testPass() {
+    $this->assertTrue(Parser::parseExpression('baz($foo, 1, 2, "bar")')->is($this->filter));
+    $this->assertTrue(Parser::parseExpression('baz(1, 2, $foo, "bar")')->is($this->filter));
+  }
+
+}