diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php
index f851cbc..0386661 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigEntityListTest.php
@@ -98,6 +98,27 @@ function testList() {
     );
     $actual_items = $controller->buildRow($entity);
     $this->assertIdentical($expected_items, $actual_items, 'Return value from buildRow matches expected.');
+    // Test sorting.
+    $entity = entity_create('config_test', array(
+      'id' => 'alpha',
+      'label' => 'Alpha',
+      'weight' => 1,
+    ));
+    $entity->save();
+    $entity = entity_create('config_test', array(
+      'id' => 'omega',
+      'label' => 'Omega',
+      'weight' => 1,
+    ));
+    $entity->save();
+    $entity = entity_create('config_test', array(
+      'id' => 'beta',
+      'label' => 'Beta',
+      'weight' => 0,
+    ));
+    $entity->save();
+    $list = $controller->load();
+    $this->assertIdentical(array_keys($list), array('beta', 'dotted.default', 'alpha', 'omega'));
   }
 
   /**
@@ -142,7 +163,11 @@ function testListUI() {
     $this->assertLink('Add test configuration');
     $this->clickLink('Add test configuration');
     $this->assertResponse(200);
-    $edit = array('label' => 'Antelope', 'id' => 'antelope');
+    $edit = array(
+      'label' => 'Antelope',
+      'id' => 'antelope',
+      'weight' => 1,
+    );
     $this->drupalPost(NULL, $edit, t('Save'));
 
     // Ensure that the entity's sort method was called.
@@ -155,8 +180,8 @@ function testListUI() {
     $this->assertFieldByXpath('//td', 'antelope', "Machine name found for added 'Antelope' entity.");
 
     // Edit the entity using the operations link.
-    $this->assertLink('Edit');
-    $this->clickLink('Edit');
+    $this->assertLinkByHref('admin/structure/config_test/manage/antelope/edit');
+    $this->clickLink('Edit', 1);
     $this->assertResponse(200);
     $this->assertTitle('Edit Antelope | Drupal');
     $edit = array('label' => 'Albatross', 'id' => 'albatross');
@@ -169,8 +194,8 @@ function testListUI() {
     $this->assertFieldByXpath('//td', 'albatross', "Machine name found for updated 'Albatross' entity.");
 
     // Delete the added entity using the operations link.
-    $this->assertLink('Delete');
-    $this->clickLink('Delete');
+    $this->assertLinkByHref('admin/structure/config_test/manage/albatross/delete');
+    $this->clickLink('Delete', 1);
     $this->assertResponse(200);
     $this->assertTitle('Are you sure you want to delete Albatross | Drupal');
     $this->drupalPost(NULL, array(), t('Delete'));
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php
index 9278269..d2198c9 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigImportTest.php
@@ -108,6 +108,7 @@ function testNew() {
       'id' => 'new',
       'uuid' => '30df59bd-7b03-4cf7-bb35-d42fc49f0651',
       'label' => 'New',
+      'weight' => '0',
       'style' => '',
       'status' => '1',
       'langcode' => 'und',
diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigImportUITest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigImportUITest.php
index 3788d67..1bdc3e9 100644
--- a/core/modules/config/lib/Drupal/config/Tests/ConfigImportUITest.php
+++ b/core/modules/config/lib/Drupal/config/Tests/ConfigImportUITest.php
@@ -59,6 +59,7 @@ function testImport() {
       'id' => 'new',
       'uuid' => '30df59bd-7b03-4cf7-bb35-d42fc49f0651',
       'label' => 'New',
+      'weight' => '0',
       'style' => '',
       'status' => '1',
       'langcode' => 'und',
diff --git a/core/modules/config/tests/config_test/config/config_test.dynamic.dotted.default.yml b/core/modules/config/tests/config_test/config/config_test.dynamic.dotted.default.yml
index bc52b35..93c3a77 100644
--- a/core/modules/config/tests/config_test/config/config_test.dynamic.dotted.default.yml
+++ b/core/modules/config/tests/config_test/config/config_test.dynamic.dotted.default.yml
@@ -1,5 +1,6 @@
 id: dotted.default
 label: Default
+weight: 0
 protected_property: Default
 # Intentionally commented out to verify default status behavior.
 # status: 1
diff --git a/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php b/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php
index 7e54e1c..eafcd09 100644
--- a/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php
+++ b/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestFormController.php
@@ -35,6 +35,11 @@ public function form(array $form, array &$form_state, EntityInterface $entity) {
         'exists' => 'config_test_load',
       ),
     );
+    $form['weight'] = array(
+      '#type' => 'weight',
+      '#title' => 'Weight',
+      '#default_value' => $entity->get('weight'),
+    );
     $form['style'] = array(
       '#type' => 'select',
       '#title' => 'Image style',
diff --git a/core/modules/config/tests/config_test/lib/Drupal/config_test/Plugin/Core/Entity/ConfigTest.php b/core/modules/config/tests/config_test/lib/Drupal/config_test/Plugin/Core/Entity/ConfigTest.php
index 28b22cc..0e1d1ae 100644
--- a/core/modules/config/tests/config_test/lib/Drupal/config_test/Plugin/Core/Entity/ConfigTest.php
+++ b/core/modules/config/tests/config_test/lib/Drupal/config_test/Plugin/Core/Entity/ConfigTest.php
@@ -57,6 +57,13 @@ class ConfigTest extends ConfigEntityBase {
   public $label;
 
   /**
+   * The weight of the configuration entity.
+   *
+   * @var int
+   */
+  public $weight = 0;
+
+  /**
    * The image style to use.
    *
    * @var string
