diff options
Diffstat (limited to 'js')
| -rw-r--r-- | js/src/carousel.js | 2 | ||||
| -rw-r--r-- | js/tests/unit/carousel.js | 47 |
2 files changed, 48 insertions, 1 deletions
diff --git a/js/src/carousel.js b/js/src/carousel.js index 21ec57a2e..a43d86b18 100644 --- a/js/src/carousel.js +++ b/js/src/carousel.js @@ -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() } diff --git a/js/tests/unit/carousel.js b/js/tests/unit/carousel.js index d6fea2f34..6c28b6721 100644 --- a/js/tests/unit/carousel.js +++ b/js/tests/unit/carousel.js @@ -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) + }) }) |
