diff --git a/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php b/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php
index 65433da..d929c77 100644
--- a/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php
+++ b/core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php
@@ -424,6 +424,9 @@ public function providerTestValidateUtf8() {
   /**
    * Tests Unicode::convertToUtf8().
    *
+   * This test checks for various multibyte/unicode libraries, and if they're
+   * not present, it checks that convertToUtf8() returns FALSE.
+   *
    * @param string $data
    *   The data to be converted.
    * @param string $encoding
@@ -432,9 +435,20 @@ public function providerTestValidateUtf8() {
    *   The expected result.
    *
    * @dataProvider providerTestConvertToUtf8
+   *
+   * @todo: Have this test skip for extension combinations that don't
+   *        exist on the test system.
    */
   public function testConvertToUtf8($data, $encoding, $expected) {
-    $this->assertEquals($expected, Unicode::convertToUtf8($data, $encoding));
+    if (function_exists('iconv') ||
+      function_exists('mb_convert_encoding') ||
+      function_exists('recode_string')
+      ) {
+      $this->assertEquals($expected, Unicode::convertToUtf8($data, $encoding));
+    }
+    else {
+      $this->assertFalse(Unicode::convertToUtf8($data, $encoding));
+    }
   }
 
   /**
