diff --git a/js/tests/unit/tab.js b/js/tests/unit/tab.js
index e28ca83a756e..3ce29b662408 100644
--- a/js/tests/unit/tab.js
+++ b/js/tests/unit/tab.js
@@ -414,4 +414,49 @@ $(function () {
})
.trigger($.Event('click'))
})
+
+ QUnit.test('should handle removed tabs', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+
+ var html = [
+ '
',
+ ' - ',
+ ' ',
+ ' ',
+ ' ',
+ '
',
+ ' - ',
+ ' ',
+ ' ',
+ ' ',
+ '
',
+ ' - ',
+ ' ',
+ ' ',
+ ' ',
+ '
',
+ '
',
+ '',
+ '
test 1
',
+ '
test 2
',
+ '
test 3
',
+ '
'
+ ].join('')
+
+ $(html).appendTo('#qunit-fixture')
+
+ $('#secondNav').on('shown.bs.tab', function () {
+ assert.strictEqual($('.nav-tab').length, 2)
+ done()
+ })
+
+ $('#btnClose').one('click', function () {
+ var tabId = $(this).parents('a').attr('href')
+ $(this).parents('li').remove()
+ $(tabId).remove()
+ $('.nav-tabs a:last').bootstrapTab('show')
+ })
+ .trigger($.Event('click'))
+ })
})