diff --git a/core/modules/views/src/Tests/Handler/FieldFieldAccessTest.php b/core/modules/views/src/Tests/Handler/FieldFieldAccessTest.php
new file mode 100644
index 0000000..37abf94
--- /dev/null
+++ b/core/modules/views/src/Tests/Handler/FieldFieldAccessTest.php
@@ -0,0 +1,80 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\views\Tests\Handler\FieldFieldAccessTest.
+ */
+
+namespace Drupal\views\Tests\Handler;
+
+use Drupal\user\Entity\Role;
+use Drupal\user\Entity\User;
+use Drupal\views\Entity\View;
+use Drupal\views\Tests\ViewTestBase;
+use Drupal\views\Views;
+
+class FieldFieldAccessTestBase extends ViewTestBase {
+
+  /**
+   * @param $entity_type_id
+   * @param $field_name
+   * @param $field_content
+   * @param array $access_permissions
+   * @param array $access_no_permissions
+   */
+  public function fieldAccess($entity_type_id, $field_name, $field_content, $access_permissions = [], $access_no_permissions = []) {
+    $role_with_access = Role::create([
+      'name' => 'with_access',
+      'permissions' => $access_permissions,
+    ]);
+    $role_with_access->save();
+    $role_without_access = Role::create([
+      'name' => 'with_access',
+      'permissions' => $access_no_permissions,
+    ]);
+    $role_without_access->save();
+
+    $user_with_access = User::create([
+      'name' => $this->randomMachineName(),
+      'roles' => [$role_with_access->id()],
+    ]);
+    $user_with_access->save();
+    $user_without_access = User::create([
+      'name' => $this->randomMachineName(),
+      'roles' => [$role_without_access->id()],
+    ]);
+    $user_without_access->save();
+
+    $entity_type = \Drupal::entityManager()->getDefinition($entity_type_id);
+    $view_id = $this->randomMachineName();
+    $base_table = $entity_type->getDataTable() ?: $entity_type->getBaseTable();
+    $entity = View::create([
+      'id' => $view_id,
+      'base_table' => $base_table,
+      'display' => [
+        'fields' => [
+          $field_name => [
+            'table' => $base_table,
+            'field' => $field_name,
+            'id' => $field_name,
+            'plugin_id' => 'field',
+          ],
+        ],
+      ],
+    ]);
+    $entity->save();
+
+    $this->drupalLogin($user_with_access);
+    $executable = Views::getView($view_id);
+    $this->setRawContent(drupal_render($executable->preview()));
+    $this->assertText($field_content);
+    $this->assertTrue(isset($executable->field[$field_name]));
+
+    $this->drupalLogin($user_without_access);
+    $executable = Views::getView($view_id);
+    $this->setRawContent(drupal_render($executable->preview()));
+    $this->assertNoText($field_content);
+    $this->assertFalse(isset($executable->field[$field_name]));
+  }
+
+}
