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)
+ })
})
Use data attributes to easily control the position of the carousel. `data-slide` accepts the keywords `prev` or `next`, which alters the slide position relative to its current position. Alternatively, use `data-slide-to` to pass a raw slide index to the carousel `data-slide-to="2"`, which shifts the slide position to a particular index beginning with `0`.
-The `data-ride="carousel"` attribute is used to mark a carousel as animating starting at page load. **It cannot be used in combination with (redundant and unnecessary) explicit JavaScript initialization of the same carousel.**
+The `data-ride="carousel"` attribute is used to mark a carousel as animating starting at page load. If you don't use `data-ride="carousel"` to initialize your carousel, you have to initialize it yourself. **It cannot be used in combination with (redundant and unnecessary) explicit JavaScript initialization of the same carousel.**
### Via JavaScript