From 6fa0c8885ea044dcddcae50e60b7d036504b47e5 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Sun, 12 Oct 2014 22:12:44 +0100
Subject: [PATCH] Issue #1434670 by AlPotapov, bleen18 | ericduran: Add test
 for verticle_tabs default.

---
 .../Tests/Form/ElementsVerticalTabsTest.php   |  8 ++++
 .../src/Form/FormTestVerticalTabsForm.php     | 37 +++++++++----------
 2 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php b/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php
index ac74da881cfa..44a47c274480 100644
--- a/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php
+++ b/core/modules/system/src/Tests/Form/ElementsVerticalTabsTest.php
@@ -58,4 +58,12 @@ function testWrapperNotShownWhenEmpty() {
     $wrapper = $this->xpath("//div[@data-vertical-tabs-panes]");
     $this->assertFalse(isset($wrapper[0]), 'Vertical tab wrappers are not displayed to unprivileged users.');
   }
+
+ /**
+  * Ensures that default vertical tab is correctly selected.
+  */
+  function testDefaultTab() {
+    $this->drupalGet('form_test/vertical-tabs');
+    $this->assertFieldByName('vertical_tabs__active_tab', 'edit-tab3', t('The default vertical tab is correctly selected.'));
+  }
 }
diff --git a/core/modules/system/tests/modules/form_test/src/Form/FormTestVerticalTabsForm.php b/core/modules/system/tests/modules/form_test/src/Form/FormTestVerticalTabsForm.php
index 4a6966043e86..b9dc7d805f13 100644
--- a/core/modules/system/tests/modules/form_test/src/Form/FormTestVerticalTabsForm.php
+++ b/core/modules/system/tests/modules/form_test/src/Form/FormTestVerticalTabsForm.php
@@ -23,29 +23,26 @@ public function getFormId() {
    * {@inheritdoc}
    */
   public function buildForm(array $form, FormStateInterface $form_state) {
+    $tab_count = 3;
+
     $form['vertical_tabs'] = array(
       '#type' => 'vertical_tabs',
+      '#default_tab' => 'edit-tab' . $tab_count,
     );
-    $form['tab1'] = array(
-      '#type' => 'details',
-      '#title' => t('Tab 1'),
-      '#group' => 'vertical_tabs',
-      '#access' => \Drupal::currentUser()->hasPermission('access vertical_tab_test tabs'),
-    );
-    $form['tab1']['field1'] = array(
-      '#title' => t('Field 1'),
-      '#type' => 'textfield',
-    );
-    $form['tab2'] = array(
-      '#type' => 'details',
-      '#title' => t('Tab 2'),
-      '#group' => 'vertical_tabs',
-      '#access' => \Drupal::currentUser()->hasPermission('access vertical_tab_test tabs'),
-    );
-    $form['tab2']['field2'] = array(
-      '#title' => t('Field 2'),
-      '#type' => 'textfield',
-    );
+
+    for ($i = 1; $i <= $tab_count; $i++) {
+      $form['tab' . $i] = array(
+        '#type' => 'fieldset',
+        '#title' => t('Tab !num', array('!num' => $i)),
+        '#group' => 'vertical_tabs',
+        '#access' => \Drupal::currentUser()->hasPermission('access vertical_tab_test tabs'),
+      );
+      $form['tab' . $i]['field' . $i] = array(
+        '#title' => t('Field !num', array('!num' => $i)),
+        '#type' => 'textfield',
+
+      );
+    }
 
     return $form;
   }
-- 
GitLab