diff --git a/core/core.services.yml b/core/core.services.yml
index 925d183..94c836e 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -593,7 +593,6 @@ services:
     arguments: ['%language.default_values%']
   string_translator.custom_strings:
     class: Drupal\Core\StringTranslation\Translator\CustomStrings
-    arguments: ['@settings']
     tags:
       - { name: string_translator, priority: 30 }
   string_translation:
diff --git a/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php b/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
index 24f5085..b1bc189 100644
--- a/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
+++ b/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
@@ -18,28 +18,10 @@
 class CustomStrings extends StaticTranslation {
 
   /**
-   * The settings read only object.
-   *
-   * @var \Drupal\Core\Site\Settings
-   */
-  protected $settings;
-
-  /**
-   * Constructs a CustomStrings object.
-   *
-   * @param \Drupal\Core\Site\Settings $settings
-   *   The settings read only object.
-   */
-  public function __construct(Settings $settings) {
-    parent::__construct();
-    $this->settings = $settings;
-  }
-
-  /**
    * {@inheritdoc}
    */
   protected function getLanguage($langcode) {
-    return $this->settings->get('locale_custom_strings_' . $langcode, array());
+    return Settings::get('locale_custom_strings_' . $langcode, array());
   }
 
 }
diff --git a/core/modules/system/src/Tests/Form/DatetimeElementsTest.php b/core/modules/system/src/Tests/Form/DatetimeElementsTest.php
new file mode 100644
index 0000000..656ed0f
--- /dev/null
+++ b/core/modules/system/src/Tests/Form/DatetimeElementsTest.php
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\system\Tests\Form\DatetimeElementsTest.
+ */
+
+namespace Drupal\system\Tests\Form;
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Tests building and processing of date form elements.
+ *
+ * @group Form
+ */
+class DatetimeElementsTest extends WebTestBase {
+
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('form_test');
+
+  /**
+   * Tests placeholder text for elements that support placeholders.
+   */
+  function testDatetimeElements() {
+    $this->drupalGet('form_test/form-datetime');
+    // Test to make sure datetime elements are present.
+    foreach (array('date', 'datelist-year','datetime-date') as $type) {
+      $element = $this->xpath('//input[@id=:id]', array(':id' => 'edit-test-' . $type));
+      $this->assertTrue(!empty($element));
+    }
+    foreach (array('datelist-month', 'datelist-day', 'datelist-hour', 'datelist-minute', 'datelist-ampm') as $type) {
+      $element = $this->xpath('//select[@id=:id]', array(':id' => 'edit-test-' . $type));
+      $this->assertTrue(!empty($element));
+    }
+  }
+
+}
diff --git a/core/modules/system/tests/modules/form_test/form_test.routing.yml b/core/modules/system/tests/modules/form_test/form_test.routing.yml
index 8a200a3..142e73a 100644
--- a/core/modules/system/tests/modules/form_test/form_test.routing.yml
+++ b/core/modules/system/tests/modules/form_test/form_test.routing.yml
@@ -386,6 +386,14 @@ form_test.button_class:
   requirements:
     _access: 'TRUE'
 
+form_test.datetime:
+  path: '/form_test/form-datetime'
+  defaults:
+    _form: '\Drupal\form_test\Form\FormTestDatetimeElementsForm'
+    _title: 'Form description test'
+  requirements:
+    _access: 'TRUE'
+
 form_test.description_display:
   path: '/form_test/form-descriptions'
   defaults:
diff --git a/core/modules/system/tests/modules/form_test/src/Form/FormTestDatetimeElementsForm.php b/core/modules/system/tests/modules/form_test/src/Form/FormTestDatetimeElementsForm.php
new file mode 100644
index 0000000..5be67bd
--- /dev/null
+++ b/core/modules/system/tests/modules/form_test/src/Form/FormTestDatetimeElementsForm.php
@@ -0,0 +1,83 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\form_test\Form\FormTestDatetimeElementsForm.
+ */
+
+namespace Drupal\form_test\Form;
+
+use Drupal\Core\Datetime\DrupalDateTime;
+use Drupal\Core\Form\FormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Defines a form for testing date form elements.
+ */
+class FormTestDatetimeElementsForm extends FormBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormId() {
+    return 'form_test_datetime_elements';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    // Set of form elements with default error handling.
+    foreach ($this->getFormElements() as $type => $defaults) {
+      $element_name = 'test_' . $type;
+      $form[$element_name] = array(
+        '#title' => ucfirst($type),
+        '#type' => $type,
+        '#description' => ucfirst($type) . ' description.',
+      );
+
+      if (is_array($defaults)) {
+        $form[$element_name] += $defaults;
+      }
+    }
+    $form['submit'] = array(
+      '#type' => 'submit',
+      '#value' => 'Submit',
+      '#weight' => 100,
+      '#prefix' => '<br />'
+    );
+    return $form;
+  }
+
+  /**
+   *  {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+  }
+
+  /**
+   * Helper to provide date elements.
+   *
+   * @return array
+   *   An array of date elements definition.
+   */
+  protected function getFormElements() {
+    return array(
+      'date' => '',
+      'datelist' => array(
+        '#default_value' => new DrupalDateTime('2000-01-01 00:00:00'),
+        '#date_part_order' => array('month', 'day', 'year', 'hour', 'minute', 'ampm'),
+        '#date_text_parts' => array('year'),
+        '#date_year_range' => '2010:2020',
+        '#date_increment' => 15,
+      ),
+      'datetime' => array(
+        '#default_value' => new DrupalDateTime('2000-01-01 00:00:00'),
+        '#date_date_element' => 'date',
+        '#date_time_element' => 'none',
+        '#date_year_range' => '2010:+3',
+      ),
+    );
+  }
+
+}
