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 03fda2a..0736270 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' => language_default()->langcode, diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigImportUITest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigImportUITest.php index cf87bb3..fc7f1e8 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' => language_default()->langcode, 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 2983a44..2337a69 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 @@ -59,6 +59,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