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