diff --git a/js/tests/unit/dropdown.js b/js/tests/unit/dropdown.js
index 346f29fde9..051ca4be93 100644
--- a/js/tests/unit/dropdown.js
+++ b/js/tests/unit/dropdown.js
@@ -46,6 +46,53 @@ $(function () {
assert.ok(!$dropdown.parent('.dropdown').hasClass('open'), '"open" class added on click')
})
+ QUnit.test('should set aria-expanded="true" on target when dropdown menu is shown', function (assert) {
+ var dropdownHTML = '
'
+ + '- '
+ + 'Dropdown'
+ + ''
+ + '
'
+ + '
'
+ var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().click()
+
+ assert.strictEqual($dropdown.attr('aria-expanded'), 'true', 'aria-expanded is set to string "true" on click')
+ })
+
+ QUnit.test('should set aria-expanded="false" on target when dropdown menu is hidden', function (assert) {
+ var dropdownHTML = ''
+ + '- '
+ + 'Dropdown'
+ + ''
+ + '
'
+ + '
'
+ var $dropdown = $(dropdownHTML)
+ .appendTo('#qunit-fixture')
+ .find('[data-toggle="dropdown"]')
+ .bootstrapDropdown()
+
+ var done = assert.async()
+
+ $dropdown
+ .parent('.dropdown')
+ .on('hidden.bs.dropdown', function () {
+ assert.strictEqual($dropdown.attr('aria-expanded'), 'false', 'aria-expanded is set to string "false" on hide')
+ done()
+ })
+
+ $dropdown.click()
+ $(document.body).click()
+ })
+
QUnit.test('should not open dropdown if target is disabled via class', function (assert) {
var dropdownHTML = '