diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
index 4dca1cd..781c1a5 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
@@ -20,6 +20,7 @@ display:
           summary_options:
             items_per_page: '25'
           table: node
+          plugin_id: argument_comment_user_uid
       cache:
         type: none
       exposed_form:
@@ -29,6 +30,7 @@ display:
           field: nid
           id: nid
           table: node
+          plugin_id: node
       pager:
         type: full
       query:
diff --git a/core/modules/field/tests/modules/field_test_views/test_views/views.view.test_view_fieldapi.yml b/core/modules/field/tests/modules/field_test_views/test_views/views.view.test_view_fieldapi.yml
index fe2ecc0..ea37bdb 100644
--- a/core/modules/field/tests/modules/field_test_views/test_views/views.view.test_view_fieldapi.yml
+++ b/core/modules/field/tests/modules/field_test_views/test_views/views.view.test_view_fieldapi.yml
@@ -13,6 +13,7 @@ display:
           field: nid
           id: nid
           table: node
+          plugin_id: node
       cache:
         type: none
       exposed_form:
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml
index 69000ec..7986b6a 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml
@@ -17,6 +17,7 @@ display:
           id: nid
           table: node
           field: nid
+          plugin_id: node
       filter_groups:
         groups:
           1: AND
@@ -32,6 +33,7 @@ display:
           table: node
           value:
             - '1'
+          plugin_id: node_uid_revision
       sorts: {  }
       pager:
         type: full
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml
index cefedda..8d5bf6e 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml
@@ -10,26 +10,31 @@ display:
           id: nid
           table: node_revision
           field: nid
-          required: TRUE
+          required: true
+          plugin_id: standard
       fields:
         vid:
           id: vid
           table: node_revision
           field: vid
+          plugin_id: standard
         nid_1:
           id: nid_1
           table: node_revision
           field: nid
+          plugin_id: standard
         nid:
           id: nid
           table: node
           field: nid
           relationship: nid
+          plugin_id: node
       arguments:
         nid:
-          id: nid:
+          id: nid
           table: node_revision
           field: nid
+          plugin_id: node_nid
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml
index b36f549..457b905 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml
@@ -10,26 +10,31 @@ display:
           id: vid
           table: node_revision
           field: vid
-          required: TRUE
+          required: true
+          plugin_id: standard
       fields:
         vid:
           id: vid
           table: node_revision
           field: vid
+          plugin_id: standard
         nid_1:
           id: nid_1
           table: node_revision
           field: nid
+          plugin_id: standard
         nid:
           id: nid
           table: node
           field: nid
           relationship: vid
+          plugin_id: node
       arguments:
         nid:
-          id: nid:
+          id: nid
           table: node_revision
           field: nid
+          plugin_id: node_nid
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml
index c0c582b..792f048 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml
@@ -76,6 +76,7 @@ display:
           empty_zero: '0'
           hide_alter_empty: '1'
           link_to_node: '0'
+          plugin_id: node
       filters:
         status_extra:
           id: status_extra
@@ -112,12 +113,14 @@ display:
             default_group: All
             default_group_multiple: {  }
             group_items: {  }
+          plugin_id: node_status
       sorts:
         nid:
           id: nid
           table: node
           field: nid
           order: ASC
+          plugin_id: standard
       filter_groups:
         operator: AND
         groups:
diff --git a/core/modules/system/lib/Drupal/system/Plugin/views/row/EntityRow.php b/core/modules/system/lib/Drupal/system/Plugin/views/row/EntityRow.php
index 886ffa4..31f0a10 100644
--- a/core/modules/system/lib/Drupal/system/Plugin/views/row/EntityRow.php
+++ b/core/modules/system/lib/Drupal/system/Plugin/views/row/EntityRow.php
@@ -117,7 +117,7 @@ public function pre_render($result) {
     parent::pre_render($result);
 
     if ($result) {
-      // Get all entities which will be used to render in rows.
+      // Get all entities which will be used to render in rows.c
       $entities = array();
       foreach ($result as $row) {
         $entity = $row->_entity;
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
index 5240f0c..62a62d1 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
@@ -18,11 +18,13 @@ display:
           field: name
           id: name
           table: taxonomy_term_data
+          plugin_id: taxonomy
         nid:
           field: nid
           id: nid
           relationship: tid_representative
           table: node
+          plugin_id: node
       pager:
         options:
           items_per_page: '10'
@@ -44,6 +46,7 @@ display:
           subquery_sort: node.nid
           subquery_view: ''
           table: taxonomy_term_data
+          plugin_id: groupwise_max
       row:
         type: fields
       sorts:
@@ -52,6 +55,7 @@ display:
           id: tid
           order: DESC
           table: taxonomy_term_data
+          plugin_id: standard
       style:
         type: default
       title: test_groupwise
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml
index 383766a..32243d1 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml
@@ -20,6 +20,7 @@ display:
           summary_options:
             items_per_page: '25'
           table: taxonomy_term_data
+          plugin_id: taxonomy
         tid_1:
           default_argument_type: fixed
           field: tid
@@ -31,6 +32,7 @@ display:
           summary_options:
             items_per_page: '25'
           table: taxonomy_term_data
+          plugin_id: taxonomy
       cache:
         type: none
       exposed_form:
@@ -47,6 +49,7 @@ display:
           table: node
           vocabularies:
             tags: '0'
+          plugin_id: node_term_data
         term_node_tid_1:
           field: term_node_tid
           id: term_node_tid_1
@@ -54,6 +57,7 @@ display:
           table: node
           vocabularies:
             tags: '0'
+          plugin_id: node_term_data
       sorts:
         nid:
           field: nid
diff --git a/core/modules/user/tests/user_test_views/test_views/views.view.test_groupwise_user.yml b/core/modules/user/tests/user_test_views/test_views/views.view.test_groupwise_user.yml
index 7d79d11..7e42045 100644
--- a/core/modules/user/tests/user_test_views/test_views/views.view.test_groupwise_user.yml
+++ b/core/modules/user/tests/user_test_views/test_views/views.view.test_groupwise_user.yml
@@ -19,11 +19,13 @@ display:
           field: name
           id: name
           table: users
+          plugin_id: user_name
         nid:
           field: nid
           id: nid
           relationship: uid_representative
           table: node
+          plugin_id: node
       filters:
         status:
           expose:
@@ -33,6 +35,7 @@ display:
           id: status
           table: users
           value: '1'
+          plugin_id: boolean
       pager:
         options:
           items_per_page: '10'
@@ -54,6 +57,7 @@ display:
           subquery_sort: node.nid
           subquery_view: ''
           table: users
+          plugin_id: groupwise_max
       row:
         type: fields
       sorts:
@@ -62,6 +66,7 @@ display:
           id: created
           order: DESC
           table: users
+          plugin_id: date
       style:
         type: default
       title: test_groupwise_user
diff --git a/core/modules/user/tests/user_test_views/test_views/views.view.test_user_relationship.yml b/core/modules/user/tests/user_test_views/test_views/views.view.test_user_relationship.yml
index 096fa16..b1e4979 100644
--- a/core/modules/user/tests/user_test_views/test_views/views.view.test_user_relationship.yml
+++ b/core/modules/user/tests/user_test_views/test_views/views.view.test_user_relationship.yml
@@ -37,6 +37,7 @@ display:
           link_to_user: '1'
           overwrite_anonymous: '0'
           table: users
+          plugin_id: user_name
         title:
           alter:
             absolute: '0'
@@ -54,6 +55,7 @@ display:
           label: ''
           link_to_node: '1'
           table: node
+          plugin_id: node
         uid:
           alter:
             absolute: '0'
@@ -77,6 +79,7 @@ display:
           id: uid
           link_to_user: '1'
           table: users
+          plugin_id: user
       pager:
         options:
           items_per_page: '10'
diff --git a/core/modules/user/tests/user_test_views/test_views/views.view.test_user_uid_argument.yml b/core/modules/user/tests/user_test_views/test_views/views.view.test_user_uid_argument.yml
index 7dfce3e..691c4b8 100644
--- a/core/modules/user/tests/user_test_views/test_views/views.view.test_user_uid_argument.yml
+++ b/core/modules/user/tests/user_test_views/test_views/views.view.test_user_uid_argument.yml
@@ -11,6 +11,7 @@ display:
           id: uid
           table: users
           field: uid
+          plugin_id: user
       arguments:
         uid:
           id: uid
@@ -18,6 +19,7 @@ display:
           field: uid
           title_enable: true
           title: %1
+          plugin_id: user_uid
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/user/tests/user_test_views/test_views/views.view.test_view_argument_validate_user.yml b/core/modules/user/tests/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
index 2750f43..daecc94 100644
--- a/core/modules/user/tests/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
+++ b/core/modules/user/tests/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
@@ -18,6 +18,7 @@ display:
           table: views
           validate:
             type: user
+          plugin_id: 'null'
       cache:
         type: none
       exposed_form:
diff --git a/core/modules/user/tests/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml b/core/modules/user/tests/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml
index 48522e0..284315d 100644
--- a/core/modules/user/tests/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml
+++ b/core/modules/user/tests/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml
@@ -31,6 +31,7 @@ display:
           link_to_user: '1'
           overwrite_anonymous: '0'
           table: users
+          plugin_id: user_name
       pager:
         type: full
       query:
diff --git a/core/modules/views/config/views.view.archive.yml b/core/modules/views/config/views.view.archive.yml
index f2b3a62..db7defd 100644
--- a/core/modules/views/config/views.view.archive.yml
+++ b/core/modules/views/config/views.view.archive.yml
@@ -33,6 +33,7 @@ display:
           table: node
           field: created
           order: DESC
+          plugin_id: date
       arguments:
         created_year_month:
           id: created_year_month
@@ -51,6 +52,7 @@ display:
             override: true
             items_per_page: '30'
           specify_validation: 1
+          plugin_id: node_created_year_month
       filters:
         status:
           id: status
@@ -60,6 +62,7 @@ display:
           group: 0
           expose:
             operator: false
+          plugin_id: boolean
       style:
         type: default
       row:
@@ -101,3 +104,4 @@ display:
           summary_options:
             items_per_page: '30'
           specify_validation: 1
+          plugin_id: node_created_year_month
diff --git a/core/modules/views/config/views.view.backlinks.yml b/core/modules/views/config/views.view.backlinks.yml
index 8c1f2a7..d7997a8 100644
--- a/core/modules/views/config/views.view.backlinks.yml
+++ b/core/modules/views/config/views.view.backlinks.yml
@@ -36,6 +36,7 @@ display:
           empty: false
           content: 'No backlinks found.'
           format: '1'
+          plugin_id: text
       fields:
         title:
           id: title
@@ -43,6 +44,7 @@ display:
           field: title
           label: ''
           link_to_node: 1
+          plugin_id: node
       arguments:
         nid:
           id: nid
@@ -66,6 +68,7 @@ display:
           group: 0
           expose:
             operator: false
+          plugin_id: boolean
       style:
         type: html_list
         options:
diff --git a/core/modules/views/config/views.view.comments_recent.yml b/core/modules/views/config/views.view.comments_recent.yml
index 6e86a0c..f7eda8e 100644
--- a/core/modules/views/config/views.view.comments_recent.yml
+++ b/core/modules/views/config/views.view.comments_recent.yml
@@ -35,6 +35,7 @@ display:
           id: nid
           table: comment
           field: nid
+          plugin_id: standard
       fields:
         subject:
           id: subject
@@ -42,18 +43,21 @@ display:
           field: subject
           label: ''
           link_to_comment: 1
+          plugin_id: comment
         timestamp:
           id: timestamp
           table: comment
           field: changed
           label: ''
           date_format: 'time ago'
+          plugin_id: date
       sorts:
         timestamp:
           id: timestamp
           table: comment
           field: changed
           order: DESC
+          plugin_id: date
       filters:
         status_extra:
           id: status_extra
@@ -61,6 +65,7 @@ display:
           field: status_extra
           relationship: nid
           group: 0
+          plugin_id: node_status
       style:
         type: html_list
       row:
@@ -88,23 +93,27 @@ display:
           relationship: nid
           label: 'Reply to'
           link_to_node: 1
+          plugin_id: node
         timestamp:
           id: timestamp
           table: comment
           field: changed
           label: ''
           date_format: 'time ago'
+          plugin_id: date
         subject:
           id: subject
           table: comment
           field: subject
           label: ''
           link_to_comment: 1
+          plugin_id: comment
         comment:
           id: comment
           table: field_data_comment_body
           field: comment_body
           label: ''
+          plugin_id: field
       path: comments/recent
       style:
         type: html_list
diff --git a/core/modules/views/config/views.view.frontpage.yml b/core/modules/views/config/views.view.frontpage.yml
index a635a0e..d841cd3 100644
--- a/core/modules/views/config/views.view.frontpage.yml
+++ b/core/modules/views/config/views.view.frontpage.yml
@@ -38,11 +38,13 @@ display:
           table: node
           field: sticky
           order: DESC
+          plugin_id: standard
         created:
           id: created
           table: node
           field: created
           order: DESC
+          plugin_id: date
       filters:
         promote:
           id: promote
@@ -52,6 +54,7 @@ display:
           group: 0
           expose:
             operator: false
+          plugin_id: boolean
         status:
           id: status
           table: node
@@ -60,6 +63,7 @@ display:
           group: 0
           expose:
             operator: false
+          plugin_id: boolean
   page_1:
     id: page_1
     display_title: Page
diff --git a/core/modules/views/config/views.view.glossary.yml b/core/modules/views/config/views.view.glossary.yml
index 18f059c..66d3b19 100644
--- a/core/modules/views/config/views.view.glossary.yml
+++ b/core/modules/views/config/views.view.glossary.yml
@@ -35,6 +35,7 @@ display:
           table: node
           field: title
           link_to_node: 1
+          plugin_id: node
         name:
           id: name
           table: users
@@ -42,12 +43,14 @@ display:
           label: Author
           link_to_user: 1
           relationship: uid
+          plugin_id: user_name
         changed:
           id: changed
           table: node
           field: changed
           label: 'Last update'
           date_format: long
+          plugin_id: date
       arguments:
         title:
           id: title
@@ -67,11 +70,13 @@ display:
           case: upper
           path_case: lower
           transform_dash: 0
+          plugin_id: string
       relationships:
         uid:
           id: uid
           table: node
           field: uid
+          plugin_id: standard
       style:
         type: table
         options:
@@ -144,6 +149,7 @@ display:
           case: upper
           path_case: lower
           transform_dash: 0
+          plugin_id: string
       displays:
         default: default
         page: page_1
diff --git a/core/modules/views/config/views.view.taxonomy_term.yml b/core/modules/views/config/views.view.taxonomy_term.yml
index 742c5d7..e75991a 100644
--- a/core/modules/views/config/views.view.taxonomy_term.yml
+++ b/core/modules/views/config/views.view.taxonomy_term.yml
@@ -32,11 +32,13 @@ display:
           table: node
           field: sticky
           order: DESC
+          plugin_id: standard
         created:
           id: created
           table: node
           field: created
           order: DESC
+          plugin_id: date
       arguments:
         term_node_tid_depth:
           id: term_node_tid_depth
@@ -55,6 +57,7 @@ display:
             type: taxonomy_term
           depth: '0'
           break_phrase: 1
+          plugin_id: taxonomy_index_tid_depth
         term_node_tid_depth_modifier:
           id: term_node_tid_depth_modifier
           table: node
@@ -65,6 +68,7 @@ display:
           summary:
             format: default_summary
           specify_validation: 1
+          plugin_id: taxonomy_index_tid_depth_modifier
       filters:
         status_extra:
           id: status_extra
@@ -73,6 +77,7 @@ display:
           group: 0
           expose:
             operator: false
+          plugin_id: node_status
       style:
         type: default
       row:
diff --git a/core/modules/views/config/views.view.tracker.yml b/core/modules/views/config/views.view.tracker.yml
index 5d31e2f..58052fa 100644
--- a/core/modules/views/config/views.view.tracker.yml
+++ b/core/modules/views/config/views.view.tracker.yml
@@ -34,31 +34,37 @@ display:
           id: uid
           table: node
           field: uid
+          plugin_id: standard
       fields:
         type:
           id: type
           table: node
           field: type
+          plugin_id: node_type
         title:
           id: title
           table: node
           field: title
+          plugin_id: node
         name:
           id: name
           table: users
           field: name
           relationship: uid
           label: Author
+          plugin_id: user_name
         comment_count:
           id: comment_count
           table: node_comment_statistics
           field: comment_count
           label: Replies
+          plugin_id: numeric
         last_comment_timestamp:
           id: last_comment_timestamp
           table: node_comment_statistics
           field: last_comment_timestamp
           label: 'Last Post'
+          plugin_id: comment_last_timestamp
         timestamp:
           id: timestamp
           table: history
@@ -66,6 +72,7 @@ display:
           label: ''
           link_to_node: 0
           comments: 1
+          plugin_id: node_history_user_timestamp
         new_comments:
           id: new_comments
           table: node
@@ -74,11 +81,13 @@ display:
           hide_empty: true
           suffix: ' new'
           link_to_comment: 1
+          plugin_id: node_new_comments
       sorts:
         last_comment_timestamp:
           id: last_comment_timestamp
           table: node_comment_statistics
           field: last_comment_timestamp
+          plugin_id: date
       arguments:
         uid_touch:
           id: uid_touch
@@ -92,6 +101,7 @@ display:
           summary:
             format: default_summary
           specify_validation: 1
+          plugin_id: argument_comment_user_uid
       filters:
         status:
           id: status
@@ -101,6 +111,7 @@ display:
           group: 0
           expose:
             operator: false
+          plugin_id: boolean
       style:
         type: table
         options:
diff --git a/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php b/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php
index 8408aa4..2ddf292 100644
--- a/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php
@@ -68,6 +68,12 @@ public static function getInfo() {
     );
   }
 
+  protected function setUp() {
+    parent::setUp();
+
+    $this->enableViewsTestModule();
+  }
+
   /**
    * Tests CRUD operations.
    */
@@ -345,9 +351,10 @@ protected function displayMethodTests() {
     $expected_items[$id1] = $expected_item = array(
       'id' => 'id',
       'table' => 'views_test_data',
-      'field' => 'id'
+      'field' => 'id',
+      'plugin_id' => 'numeric',
     );
-    $this->assertEqual($item1, $expected_item);
+    $this->assertArrayEqual($item1, $expected_item);
 
     $options = array(
       'alter' => array(
@@ -359,12 +366,13 @@ protected function displayMethodTests() {
     $expected_items[$id2] = $expected_item = array(
       'id' => 'name',
       'table' => 'views_test_data',
-      'field' => 'name'
+      'field' => 'name',
+      'plugin_id' => 'standard',
     ) + $options;
-    $this->assertEqual($item2, $expected_item);
+    $this->assertArrayEqual($item2, $expected_item);
 
     // Tests the expected fields from the previous additions.
-    $this->assertEqual($view->getItems('field', $display_id), $expected_items);
+    $this->assertArrayEqual($view->getItems('field', $display_id), $expected_items);
 
     // Alter an existing item via setItem and check the result via getItem
     // and getItems.
@@ -375,8 +383,8 @@ protected function displayMethodTests() {
     ) + $item1;
     $expected_items[$id1] = $item;
     $view->setItem($display_id, 'field', $id1, $item);
-    $this->assertEqual($view->getItem($display_id, 'field', 'id'), $item);
-    $this->assertEqual($view->getItems('field', $display_id), $expected_items);
+    $this->assertArrayEqual($view->getItem($display_id, 'field', 'id'), $item);
+    $this->assertArrayEqual($view->getItems('field', $display_id), $expected_items);
   }
 
   /**
diff --git a/core/modules/views/lib/Drupal/views/Tests/ViewTestBase.php b/core/modules/views/lib/Drupal/views/Tests/ViewTestBase.php
index 93685aa..34bd6ed 100644
--- a/core/modules/views/lib/Drupal/views/Tests/ViewTestBase.php
+++ b/core/modules/views/lib/Drupal/views/Tests/ViewTestBase.php
@@ -60,6 +60,35 @@ protected function enableViewsTestModule() {
   }
 
   /**
+   * Asserts that two arrays are the same, but not checking the order of it.
+   *
+   * @param array $first
+   *   The first value to check.
+   * @param array $second
+   *   The second value to check.
+   * @param string $message
+   *   (optional) A message to display with the assertion. Do not translate
+   *   messages: use format_string() to embed variables in the message text, not
+   *   t(). If left blank, a default message will be displayed.
+   * @param string $group
+   *   (optional) The group this message is in, which is displayed in a column
+   *   in test output. Use 'Debug' to indicate this is debugging output. Do not
+   *   translate this string. Defaults to 'Other'; most tests do not override
+   *   this default.
+   * @return bool
+   *   TRUE on pass, FALSE on fail.
+   */
+  protected function assertArrayEqual(array $first, array $second, $message = '', $group = 'Other') {
+    $diff = array_diff($first, $second);
+    if (empty($diff)) {
+      $this->assert(TRUE, $message ? $message : format_string('Value @first is equal to value @second.', array('@first' => var_export($first, TRUE), '@second' => var_export($second, TRUE))), $group);
+    }
+    else {
+      $this->assert(FALSE, $message ? $message : format_string('The first value differs from the second by @diff.', array('@diff' => var_export($diff, TRUE))));
+    }
+  }
+
+  /**
    * Verifies that a result set returned by a View matches expected values.
    *
    * The comparison is done on the string representation of the columns of the
diff --git a/core/modules/views/lib/Drupal/views/ViewExecutable.php b/core/modules/views/lib/Drupal/views/ViewExecutable.php
index fdc4ce2..2dd1518 100644
--- a/core/modules/views/lib/Drupal/views/ViewExecutable.php
+++ b/core/modules/views/lib/Drupal/views/ViewExecutable.php
@@ -2061,15 +2061,18 @@ public function addItem($display_id, $type, $table, $field, $options = array(),
     // If the desired type is not found, use the original value directly.
     $handler_type = !empty($types[$type]['type']) ? $types[$type]['type'] : $type;
 
-    // @todo This variable is never used.
-    $handler = views_get_handler($table, $field, $handler_type);
-
     $fields[$id] = array(
       'id' => $id,
       'table' => $table,
       'field' => $field,
     ) + $options;
 
+    // Load the plugin ID if available.
+    $data = views_fetch_data($table);
+    if (isset($data[$field][$handler_type]['id'])) {
+      $fields[$id]['plugin_id'] = $data[$field][$handler_type]['id'];
+    }
+
     $this->displayHandlers[$display_id]->setOption($types[$type]['plural'], $fields);
 
     return $id;
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_aggregate_count.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_aggregate_count.yml
index 7a42247..bd02138 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_aggregate_count.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_aggregate_count.yml
@@ -17,6 +17,7 @@ display:
           summary:
             format: default_summary
           table: node
+          plugin_id: node_type
       cache:
         type: none
       exposed_form:
@@ -37,6 +38,7 @@ display:
           id: nid
           link_to_node: '0'
           table: node
+          plugin_id: node
       group_by: '1'
       pager:
         type: some
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_alias.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_alias.yml
index 3755f24..758a0e3 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_alias.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_alias.yml
@@ -32,6 +32,7 @@ display:
           link_to_user: '1'
           overwrite_anonymous: '0'
           table: users
+          plugin_id: user_name
       filters:
         uid_raw:
           admin_label: ''
@@ -71,6 +72,7 @@ display:
             max: ''
             min: ''
             value: '1'
+          plugin_id: numeric
       pager:
         type: full
       query:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_current_user.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_current_user.yml
index 3cf754d..9732a70 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_current_user.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_current_user.yml
@@ -14,6 +14,7 @@ display:
           field: uid
           id: uid
           table: node
+          plugin_id: numeric
       cache:
         type: none
       exposed_form:
@@ -34,6 +35,7 @@ display:
           id: title
           link_to_node: '0'
           table: node
+          plugin_id: node
       pager:
         options:
           id: '0'
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_fixed.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_fixed.yml
index 061b209..0943244 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_fixed.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_argument_default_fixed.yml
@@ -17,6 +17,7 @@ display:
           must_not_be: '0'
           style_plugin: default_summary
           table: views
+          plugin_id: 'null'
       cache:
         type: none
       exposed_form:
@@ -37,6 +38,7 @@ display:
           id: title
           link_to_node: '0'
           table: node
+          plugin_id: node
       pager:
         options:
           id: '0'
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_click_sort.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_click_sort.yml
index 8aa2eb2..59996f9 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_click_sort.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_click_sort.yml
@@ -11,14 +11,17 @@ display:
           id: id
           table: views_test_data
           field: id
+          plugin_id: numeric
         name:
           id: name
           table: views_test_data
           field: name
+          plugin_id: string
         created:
           id: created
           table: views_test_data
           field: created
+          plugin_id: date
       display_options:
         access:
           type: none
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_destroy.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_destroy.yml
index a28c6b1..ce5196d 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_destroy.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_destroy.yml
@@ -37,18 +37,21 @@ display:
           id: created_day
           style_plugin: default_summary
           table: node
+          plugin_id: node_created_day
         created_fulldate:
           default_argument_type: fixed
           field: created_fulldate
           id: created_fulldate
           style_plugin: default_summary
           table: node
+          plugin_id: node_created_fulldate
         created_month:
           default_argument_type: fixed
           field: created_month
           id: created_month
           style_plugin: default_summary
           table: node
+          plugin_id: node_created_month
       cache:
         type: none
       empty:
@@ -57,11 +60,13 @@ display:
           field: area
           id: area
           table: views
+          plugin_id: text
         area_1:
           empty: '0'
           field: area
           id: area_1
           table: views
+          plugin_id: text
       exposed_form:
         type: basic
       fields:
@@ -69,49 +74,59 @@ display:
           field: created
           id: created
           table: node
+          plugin_id: date
         nid:
           field: nid
           id: nid
           table: node
+          plugin_id: node
         path:
           field: path
           id: path
           table: node
+          plugin_id: node_path
       filters:
         nid:
           field: nid
           id: nid
           table: node
+          plugin_id: numeric
         status:
           field: status
           id: status
           table: node
+          plugin_id: boolean
         title:
           field: title
           id: title
           table: node
+          plugin_id: string
       footer:
         area:
           empty: '0'
           field: area
           id: area
           table: views
+          plugin_id: text
         area_1:
           empty: '0'
           field: area
           id: area_1
           table: views
+          plugin_id: text
       header:
         area:
           empty: '0'
           field: area
           id: area
           table: views
+          plugin_id: text
         area_1:
           empty: '0'
           field: area
           id: area_1
           table: views
+          plugin_id: text
       pager:
         type: full
       query:
@@ -121,25 +136,30 @@ display:
           field: cid
           id: cid
           table: node
+          plugin_id: standard
         pid:
           field: pid
           id: pid
           table: comment
           relationship: cid
+          plugin_id: standard
         uid:
           field: uid
           id: uid
           table: comment
           relationship: cid
+          plugin_id: standard
       sorts:
         last_comment_name:
           field: last_comment_name
           id: last_comment_name
           table: node_comment_statistics
+          plugin_id: comment_ncs_last_comment_name
         last_comment_timestamp:
           field: last_comment_timestamp
           id: last_comment_timestamp
           table: node_comment_statistics
+          plugin_id: date
       style:
         type: default
       row:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_display.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_display.yml
index d9c5430..19b8ee1 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_display.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_display.yml
@@ -45,6 +45,7 @@ display:
           field: title
           id: title
           table: node
+          plugin_id: node
       filters:
         status:
           field: status
@@ -52,6 +53,7 @@ display:
           id: status
           table: node
           value: '1'
+          plugin_id: boolean
       pager:
         options:
           items_per_page: '10'
@@ -69,6 +71,7 @@ display:
           id: created
           order: DESC
           table: node
+          plugin_id: date
       style_plugin: default
       title: 'Test Display'
     display_plugin: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_example_area.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_example_area.yml
index 2a8fb0b..75bec26 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_example_area.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_example_area.yml
@@ -15,16 +15,19 @@ display:
           field: test_example
           id: test_example
           table: views
+          plugin_id: test_example
       footer:
         test_example:
           field: test_example
           id: test_example
           table: views
+          plugin_id: test_example
       empty:
         test_example:
           field: test_example
           id: test_example
           table: views
+          plugin_id: test_example
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_executable_displays.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_executable_displays.yml
index 8feb580..df2b80a 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_executable_displays.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_executable_displays.yml
@@ -16,7 +16,7 @@ display:
     position: '1'
   page_2:
     display_plugin: page
-    display_title: Page 2
+    display_title: 'Page 2'
     id: page_2
     position: '2'
 human_name: ''
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_exposed_admin_ui.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_exposed_admin_ui.yml
index d73dfb8..1ff153e 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_exposed_admin_ui.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_exposed_admin_ui.yml
@@ -23,6 +23,7 @@ display:
           field: type
           id: type
           table: node
+          plugin_id: node_type
       pager:
         type: full
       sorts:
@@ -30,6 +31,7 @@ display:
           field: created
           id: created
           table: node
+          plugin_id: date
       style:
         type: default
       row:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_feed_display.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_feed_display.yml
index 6ba9d11..214e783 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_feed_display.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_feed_display.yml
@@ -30,6 +30,7 @@ display:
           label: ''
           link_to_node: '1'
           table: node
+          plugin_id: node
       filters:
         status:
           expose:
@@ -39,6 +40,7 @@ display:
           id: status
           table: node
           value: '1'
+          plugin_id: boolean
       pager:
         options:
           items_per_page: '10'
@@ -57,6 +59,7 @@ display:
           id: created
           order: DESC
           table: node
+          plugin_id: date
       style:
         type: default
       title: test_feed_display
@@ -66,7 +69,7 @@ display:
     position: '0'
   feed:
     display_options:
-      displays: {}
+      displays: {  }
       pager:
         type: some
       path: test-feed-display.xml
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_classes.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_classes.yml
index d2fe5b2..7c7ce39 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_classes.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_classes.yml
@@ -15,6 +15,7 @@ display:
           id: id
           table: views_test_data
           field: id
+          plugin_id: numeric
       style:
         type: html_list
     display_plugin: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_get_entity.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_get_entity.yml
index 5ba2fc9..de6efaf 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_get_entity.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_get_entity.yml
@@ -17,16 +17,19 @@ display:
           field: cid
           id: cid
           table: comment
+          plugin_id: comment
         nid:
           field: nid
           id: nid
           table: node
           relationship: nid
+          plugin_id: node
         uid:
           field: uid
           id: uid
           table: users
           relationship: uid
+          plugin_id: user
       filter_groups:
         groups: {  }
         operator: AND
@@ -41,6 +44,7 @@ display:
           id: nid
           required: '1'
           table: comment
+          plugin_id: standard
         uid:
           admin_label: ''
           field: uid
@@ -50,6 +54,7 @@ display:
           relationship: nid
           required: '0'
           table: node
+          plugin_id: standard
       sorts: {  }
       style:
         type: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_output.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_output.yml
index 6d0d73f..ad50c7d 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_output.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_output.yml
@@ -15,6 +15,7 @@ display:
           id: name
           table: views_test_data
           field: name
+          plugin_id: string
       style:
         type: html_list
     display_plugin: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_tokens.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_tokens.yml
index 01431a6..93d6b99 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_tokens.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_tokens.yml
@@ -21,18 +21,22 @@ display:
           id: name
           table: views_test_data
           field: name
+          plugin_id: string
         name_1:
           id: name_1
           table: views_test_data
           field: name
+          plugin_id: string
         name_2:
           id: name_2
           table: views_test_data
           field: name
+          plugin_id: string
         job:
           id: job
           table: views_test_data
           field: job
+          plugin_id: string
       style:
         type: default
       row:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_type.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_type.yml
index c9172bc..5be9857 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_field_type.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_field_type.yml
@@ -11,6 +11,7 @@ display:
           field: type
           id: type
           table: node
+          plugin_id: node_type
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter.yml
index 3f11e83..9adec74 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter.yml
@@ -20,11 +20,13 @@ display:
           id: name
           label: ''
           table: views_test_data
+          plugin_id: string
       filters:
         type:
           field: name
           id: test_filter
           table: views_test_data
+          plugin_id: string
       query:
         type: views_query
       use_more_always: '0'
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_date_between.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_date_between.yml
index 71f4b2f..0715f2f 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_date_between.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_date_between.yml
@@ -17,11 +17,13 @@ display:
           field: nid
           id: nid
           table: node
+          plugin_id: node
       filters:
         created:
           field: created
           id: created
           table: node
+          plugin_id: date
       pager:
         type: full
       query:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_group_override.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_group_override.yml
index 379eff6..dc95dd8 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_group_override.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_group_override.yml
@@ -21,6 +21,7 @@ display:
           id: title
           label: ''
           table: node
+          plugin_id: node
       filters:
         status:
           expose:
@@ -30,6 +31,7 @@ display:
           id: status
           table: node
           value: '1'
+          plugin_id: boolean
       pager:
         type: full
       query:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_groups.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_groups.yml
index d71c02e..d20ab07 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_groups.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_groups.yml
@@ -21,6 +21,7 @@ display:
           id: title
           label: ''
           table: node
+          plugin_id: node
       filter_groups:
         groups:
           1: AND
@@ -33,6 +34,7 @@ display:
           table: node
           value:
             value: '1'
+          plugin_id: numeric
         nid_1:
           field: nid
           group: '2'
@@ -40,6 +42,7 @@ display:
           table: node
           value:
             value: '2'
+          plugin_id: numeric
         status:
           expose:
             operator: '0'
@@ -48,6 +51,7 @@ display:
           id: status
           table: node
           value: '1'
+          plugin_id: boolean
       pager:
         options:
           items_per_page: '10'
@@ -60,6 +64,7 @@ display:
           id: created
           order: DESC
           table: node
+          plugin_id: date
       title: test_filter_groups
       style:
         type: default
@@ -86,6 +91,7 @@ display:
           table: node
           value:
             value: '1'
+          plugin_id: numeric
         nid_1:
           field: nid
           group: '2'
@@ -93,6 +99,7 @@ display:
           table: node
           value:
             value: '2'
+          plugin_id: numeric
         status:
           expose:
             operator: '0'
@@ -101,6 +108,7 @@ display:
           id: status
           table: node
           value: '1'
+          plugin_id: boolean
       path: test-filter-groups
     display_plugin: page
     display_title: Page
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml
index a68c790..b9cad91 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml
@@ -24,6 +24,7 @@ display:
           field: type
           id: type
           table: node
+          plugin_id: string
       pager:
         type: full
       style:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_glossary.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_glossary.yml
index 33045e5..5f3b11c 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_glossary.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_glossary.yml
@@ -21,6 +21,7 @@ display:
           summary_options:
             items_per_page: '25'
           table: node
+          plugin_id: string
       cache:
         type: none
       exposed_form:
@@ -31,6 +32,7 @@ display:
           id: title
           label: ''
           table: node
+          plugin_id: node
       pager:
         type: full
       query:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_count.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_count.yml
index 7ea0ab8..a312291 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_count.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_count.yml
@@ -29,6 +29,7 @@ display:
           id: nid
           link_to_node: '0'
           table: node
+          plugin_id: node
         type:
           alter:
             alter_text: '0'
@@ -44,6 +45,7 @@ display:
           id: type
           link_to_node: '0'
           table: node
+          plugin_id: node_type
       group_by: '1'
       pager:
         type: some
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_in_filters.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_in_filters.yml
index c494b09..0412ad7 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_in_filters.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_group_by_in_filters.yml
@@ -28,6 +28,7 @@ display:
           id: type
           link_to_node: '0'
           table: node
+          plugin_id: node_type
       filters:
         nid:
           field: nid
@@ -37,6 +38,7 @@ display:
           table: node
           value:
             value: '3'
+          plugin_id: numeric
       group_by: '1'
       pager:
         type: some
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_relationships.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_relationships.yml
index 409fb2c..652c316 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_relationships.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_relationships.yml
@@ -11,16 +11,19 @@ display:
           id: title
           table: node
           field: title
+          plugin_id: node
       relationships:
         cid:
           id: cid
           table: node
           field: cid
+          plugin_id: standard
         nid:
           id: nid
           table: comment
           field: nid
           relationship: cid
+          plugin_id: standard
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_test_access.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_test_access.yml
index f7cbce5..bc1fc3e 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_test_access.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_handler_test_access.yml
@@ -9,37 +9,45 @@ display:
           id: access_callback
           table: views_test_data
           field: access_callback
+          plugin_id: numeric
         access_callback_arguments:
           id: access_callback_arguments
           table: views_test_data
           field: access_callback_arguments
+          plugin_id: numeric
       filters:
         access_callback:
           id: access_callback
           table: views_test_data
           field: access_callback
+          plugin_id: numeric
         access_callback_arguments:
           id: access_callback_arguments
           table: views_test_data
           field: access_callback_arguments
+          plugin_id: numeric
       arguments:
         access_callback:
           id: access_callback
           table: views_test_data
           field: access_callback
+          plugin_id: numeric
         access_callback_arguments:
           id: access_callback_arguments
           table: views_test_data
           field: access_callback_arguments
+          plugin_id: numeric
       sorts:
         access_callback:
           id: access_callback
           table: views_test_data
           field: access_callback
+          plugin_id: standard
         access_callback_arguments:
           id: access_callback_arguments
           table: views_test_data
           field: access_callback_arguments
+          plugin_id: standard
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml
index 91ba690..e6a539a 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml
@@ -38,6 +38,7 @@ display:
           admin_label: ''
           label: Name
           exclude: '0'
+          plugin_id: standard
       filters: {  }
       sorts: {  }
       filter_groups:
@@ -55,6 +56,7 @@ display:
           default_action: ignore
           title_enable: '0'
           title: ''
+          plugin_id: numeric
 human_name: test_preview
 module: views
 name: test_preview
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_redirect_view.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_redirect_view.yml
index 1217693..53e20a1 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_redirect_view.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_redirect_view.yml
@@ -50,6 +50,7 @@ display:
           hide_empty: '0'
           empty_zero: '0'
           link_to_node: '1'
+          plugin_id: node
       filters:
         status:
           value: '1'
@@ -59,12 +60,14 @@ display:
           expose:
             operator: '0'
           group: '1'
+          plugin_id: boolean
       sorts:
         created:
           id: created
           table: node
           field: created
           order: DESC
+          plugin_id: date
       title: test_redirect_view
   page_1:
     display_plugin: page
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_reset_button.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_reset_button.yml
index e01c83e..2221c32 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_reset_button.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_reset_button.yml
@@ -25,6 +25,7 @@ display:
           field: type
           id: type
           table: node
+          plugin_id: node_type
       pager:
         type: full
       query:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_style_mapping.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_style_mapping.yml
index 30d4dd9..050d7f0 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_style_mapping.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_style_mapping.yml
@@ -17,16 +17,19 @@ display:
           id: age
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         job:
           field: job
           id: job
           relationship: none
           table: views_test_data
+          plugin_id: string
         name:
           field: name
           id: name
           relationship: none
           table: views_test_data
+          plugin_id: string
       pager:
         options:
           offset: '0'
@@ -39,6 +42,7 @@ display:
           order: ASC
           relationship: none
           table: views_test_data
+          plugin_id: numeric
       style:
         type: mapping_test
         options:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_tokens.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_tokens.yml
index f6e640c..7892f18 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_tokens.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_tokens.yml
@@ -20,16 +20,19 @@ display:
           id: age
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         id:
           field: id
           id: id
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         name:
           field: name
           id: name
           relationship: none
           table: views_test_data
+          plugin_id: string
       pager:
         type: full
         options:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_view.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_view.yml
index 57dd103..b3786d4 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_view.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_view.yml
@@ -17,16 +17,19 @@ display:
           id: age
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         id:
           field: id
           id: id
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         name:
           field: name
           id: name
           relationship: none
           table: views_test_data
+          plugin_id: string
       pager:
         options:
           offset: '0'
@@ -39,6 +42,7 @@ display:
           order: ASC
           relationship: none
           table: views_test_data
+          plugin_id: numeric
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
index 446aa63..47d2308 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
@@ -18,6 +18,7 @@ display:
           table: views
           validate:
             type: numeric
+          plugin_id: 'null'
       cache:
         type: none
       exposed_form:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_php.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_php.yml
index 1b4dc28..0e59085 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_php.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_argument_validate_php.yml
@@ -18,6 +18,7 @@ display:
           table: views
           validate:
             type: php
+          plugin_id: 'null'
       cache:
         type: none
       exposed_form:
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_handler_weight.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_handler_weight.yml
index cf47d54..3b30d96 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_handler_weight.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_handler_weight.yml
@@ -17,16 +17,19 @@ display:
           id: id
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         age:
           field: age
           id: age
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         name:
           field: name
           id: name
           relationship: none
           table: views_test_data
+          plugin_id: string
       pager:
         options:
           offset: '0'
@@ -39,21 +42,25 @@ display:
           order: ASC
           relationship: none
           table: views_test_data
+          plugin_id: numeric
         age:
           field: age
           id: standard
           order: ASC
           relationship: none
           table: views_test_data
+          plugin_id: numeric
       filters:
         name:
           field: name
           id: string
           table: views_test_data
+          plugin_id: string
         age:
           field: age
           id: numeric
           table: views_test_data
+          plugin_id: numeric
     display_plugin: default
     display_title: Master
     id: default
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml
index 5b909ea..8d0b157 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml
@@ -28,6 +28,7 @@ display:
           id: title
           link_to_node: '0'
           table: node
+          plugin_id: node
       pager:
         options:
           id: '0'
