2
0
mirror of https://github.com/tenrok/bootstrap.git synced 2026-06-05 16:42:29 +03:00

carousel should not cycle when there is no data-ride on init (#27968)

This commit is contained in:
Johann-S
2019-01-04 17:15:01 +01:00
committed by XhmikosR
parent d4b5b4b78c
commit 89a73f100e
3 changed files with 49 additions and 2 deletions
+1 -1
View File
@@ -531,7 +531,7 @@ class Carousel {
throw new TypeError(`No method named "${action}"`)
}
data[action]()
} else if (_config.interval) {
} else if (_config.interval && _config.ride) {
data.pause()
data.cycle()
}
+47
View File
@@ -1270,4 +1270,51 @@ $(function () {
assert.strictEqual(spy.called, true)
sandbox.restore()
})
QUnit.test('should not cycle when there is no attribute data-ride', function (assert) {
assert.expect(1)
var spy = sinon.spy(Carousel.prototype, 'cycle')
var carouselHTML = '<div class="carousel"></div>'
var $carousel = $(carouselHTML)
$carousel.appendTo('#qunit-fixture')
$carousel.bootstrapCarousel()
assert.strictEqual(spy.called, false)
spy.restore()
})
QUnit.test('should cycle when there is data-ride attribute', function (assert) {
assert.expect(1)
var spy = sinon.spy(Carousel.prototype, 'cycle')
var carouselHTML = '<div class="carousel" data-ride="carousel"></div>'
var $carousel = $(carouselHTML)
$carousel.appendTo('#qunit-fixture')
$carousel.bootstrapCarousel()
assert.strictEqual(spy.called, true)
spy.restore()
})
QUnit.test('should init carousels with data-ride on load event', function (assert) {
assert.expect(1)
var done = assert.async()
var spy = sinon.spy(Carousel, '_jQueryInterface')
var carouselHTML = '<div class="carousel" data-ride="carousel"></div>'
var $carousel = $(carouselHTML)
$carousel.appendTo('#qunit-fixture')
$(window).trigger($.Event('load'))
setTimeout(function () {
assert.strictEqual(spy.called, true)
spy.restore()
done()
}, 5)
})
})