diff --git a/core/lib/Drupal/Core/Render/RenderVariable.php b/core/lib/Drupal/Core/Render/RenderVariable.php
index 0253166..83e4497 100644
--- a/core/lib/Drupal/Core/Render/RenderVariable.php
+++ b/core/lib/Drupal/Core/Render/RenderVariable.php
@@ -83,6 +83,7 @@ public static function wrap($thing, $prefix, $suffix) {
$output = static::makeRenderArray($thing);
$output['#prefix'] = $prefix;
$output['#suffix'] = $suffix;
+ return $output;
}
/**
diff --git a/core/tests/Drupal/Tests/Core/Render/RenderVariableTest.php b/core/tests/Drupal/Tests/Core/Render/RenderVariableTest.php
index f58ffa6..fd007c3 100644
--- a/core/tests/Drupal/Tests/Core/Render/RenderVariableTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/RenderVariableTest.php
@@ -8,6 +8,7 @@
namespace Drupal\Tests\Core\Render;
use Drupal\Core\Render\RenderVariable;
+use Drupal\Core\Render\SafeString;
/**
* @coversDefaultClass \Drupal\Core\Render\RenderVariable
@@ -37,11 +38,13 @@ public function providerRenderVariablePrefix() {
$data[] = ['1 2 <em>blah</em>', 'blah', ['1', ' ', '2', ' ']];
$data[] = ['testblah', ['#markup' => 'blah'], ['test']];
$data[] = ['test blah', ['#markup' => 'blah'], ['test', ' ']];
+ $data[] = ['testblah', SafeString::create('blah'), ['test']];
+ $data[] = ['test blah', SafeString::create('blah'), ['test', ' ']];
return $data;
}
/**
- * @covers ::prefix
+ * @covers ::suffix
*
* @dataProvider providerRenderVariableSuffix
*/
@@ -62,6 +65,30 @@ public function providerRenderVariableSuffix() {
$data[] = ['<em>blah</em>1 2', 'blah', ['1', ' ', '2']];
$data[] = ['blahtest', ['#markup' => 'blah'], ['test']];
$data[] = ['blah test', ['#markup' => 'blah'], [' ', 'test']];
+ $data[] = ['blahtest', SafeString::create('blah'), ['test']];
+ $data[] = ['blah test', SafeString::create('blah'), [' ', 'test']];
+ return $data;
+ }
+
+ /**
+ * @covers ::wrap
+ *
+ * @dataProvider providerRenderVariableWrap
+ */
+ public function testRenderVariableWrap($expected, $variable, $prefix, $suffix) {
+ $build = RenderVariable::wrap($variable, $prefix, $suffix);
+ $render_output = $this->renderer->renderRoot($build);
+ $this->assertEquals($expected, (string) $render_output);
+ }
+
+ /**
+ * @return array
+ */
+ public function providerRenderVariableWrap() {
+ $data = [];
+ $data[] = ['<em>blah</em>', 'blah', '', ''];
+ $data[] = ['blah', ['#markup' => 'blah'], '', ''];
+ $data[] = ['bar', SafeString::create('bar'), '', ''];
return $data;
}