Security update for Core, with self-updated composer
[yaffs-website] / web / core / tests / Drupal / Tests / AssertHelperTrait.php
diff --git a/web/core/tests/Drupal/Tests/AssertHelperTrait.php b/web/core/tests/Drupal/Tests/AssertHelperTrait.php
new file mode 100644 (file)
index 0000000..ba814d9
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+
+namespace Drupal\Tests;
+
+use Drupal\Component\Render\MarkupInterface;
+
+/**
+ * Provides helper methods for assertions.
+ */
+trait AssertHelperTrait {
+
+  /**
+   * Casts MarkupInterface objects into strings.
+   *
+   * @param string|array $value
+   *   The value to act on.
+   *
+   * @return mixed
+   *   The input value, with MarkupInterface objects casted to string.
+   */
+  protected static function castSafeStrings($value) {
+    if ($value instanceof MarkupInterface) {
+      $value = (string) $value;
+    }
+    if (is_array($value)) {
+      array_walk_recursive($value, function (&$item) {
+        if ($item instanceof MarkupInterface) {
+          $item = (string) $item;
+        }
+      });
+    }
+    return $value;
+  }
+
+}