Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/cowboysmall-tools/hugo-devresume-theme.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'static/assets/scss/bootstrap/js/tests/unit/toast.js')
-rwxr-xr-xstatic/assets/scss/bootstrap/js/tests/unit/toast.js259
1 files changed, 259 insertions, 0 deletions
diff --git a/static/assets/scss/bootstrap/js/tests/unit/toast.js b/static/assets/scss/bootstrap/js/tests/unit/toast.js
new file mode 100755
index 0000000..2081693
--- /dev/null
+++ b/static/assets/scss/bootstrap/js/tests/unit/toast.js
@@ -0,0 +1,259 @@
+$(function () {
+ 'use strict'
+
+ if (typeof bootstrap !== 'undefined') {
+ window.Toast = bootstrap.Toast
+ }
+
+ QUnit.module('toast plugin')
+
+ QUnit.test('should be defined on jquery object', function (assert) {
+ assert.expect(1)
+ assert.ok($(document.body).toast, 'toast method is defined')
+ })
+
+ QUnit.module('toast', {
+ beforeEach: function () {
+ // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+ $.fn.bootstrapToast = $.fn.toast.noConflict()
+ },
+ afterEach: function () {
+ $.fn.toast = $.fn.bootstrapToast
+ delete $.fn.bootstrapToast
+ $('#qunit-fixture').html('')
+ }
+ })
+
+ QUnit.test('should provide no conflict', function (assert) {
+ assert.expect(1)
+ assert.strictEqual(typeof $.fn.toast, 'undefined', 'toast was set back to undefined (org value)')
+ })
+
+ QUnit.test('should return the current version', function (assert) {
+ assert.expect(1)
+ assert.strictEqual(typeof Toast.VERSION, 'string')
+ })
+
+ QUnit.test('should throw explicit error on undefined method', function (assert) {
+ assert.expect(1)
+ var $el = $('<div/>')
+ $el.bootstrapToast()
+
+ try {
+ $el.bootstrapToast('noMethod')
+ } catch (err) {
+ assert.strictEqual(err.message, 'No method named "noMethod"')
+ }
+ })
+
+ QUnit.test('should return jquery collection containing the element', function (assert) {
+ assert.expect(2)
+
+ var $el = $('<div/>')
+ var $toast = $el.bootstrapToast()
+ assert.ok($toast instanceof $, 'returns jquery collection')
+ assert.strictEqual($toast[0], $el[0], 'collection contains element')
+ })
+
+ QUnit.test('should auto hide', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+
+ var toastHtml =
+ '<div class="toast" data-delay="1">' +
+ '<div class="toast-body">' +
+ 'a simple toast' +
+ '</div>' +
+ '</div>'
+
+ var $toast = $(toastHtml)
+ .bootstrapToast()
+ .appendTo($('#qunit-fixture'))
+
+ $toast.on('hidden.bs.toast', function () {
+ assert.strictEqual($toast.hasClass('show'), false)
+ done()
+ })
+ .bootstrapToast('show')
+ })
+
+ QUnit.test('should not add fade class', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+
+ var toastHtml =
+ '<div class="toast" data-delay="1" data-animation="false">' +
+ '<div class="toast-body">' +
+ 'a simple toast' +
+ '</div>' +
+ '</div>'
+
+ var $toast = $(toastHtml)
+ .bootstrapToast()
+ .appendTo($('#qunit-fixture'))
+
+ $toast.on('shown.bs.toast', function () {
+ assert.strictEqual($toast.hasClass('fade'), false)
+ done()
+ })
+ .bootstrapToast('show')
+ })
+
+ QUnit.test('should allow to hide toast manually', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+
+ var toastHtml =
+ '<div class="toast" data-delay="1" data-autohide="false">' +
+ '<div class="toast-body">' +
+ 'a simple toast' +
+ '</div>' +
+ '</div>'
+
+ var $toast = $(toastHtml)
+ .bootstrapToast()
+ .appendTo($('#qunit-fixture'))
+
+ $toast
+ .on('shown.bs.toast', function () {
+ $toast.bootstrapToast('hide')
+ })
+ .on('hidden.bs.toast', function () {
+ assert.strictEqual($toast.hasClass('show'), false)
+ done()
+ })
+ .bootstrapToast('show')
+ })
+
+ QUnit.test('should do nothing when we call hide on a non shown toast', function (assert) {
+ assert.expect(1)
+
+ var $toast = $('<div />')
+ .bootstrapToast()
+ .appendTo($('#qunit-fixture'))
+
+ var spy = sinon.spy($toast[0].classList, 'contains')
+
+ $toast.bootstrapToast('hide')
+
+ assert.strictEqual(spy.called, true)
+ })
+
+ QUnit.test('should allow to destroy toast', function (assert) {
+ assert.expect(2)
+
+ var $toast = $('<div />')
+ .bootstrapToast()
+ .appendTo($('#qunit-fixture'))
+
+ assert.ok(typeof $toast.data('bs.toast') !== 'undefined')
+
+ $toast.bootstrapToast('dispose')
+
+ assert.ok(typeof $toast.data('bs.toast') === 'undefined')
+ })
+
+ QUnit.test('should allow to destroy toast and hide it before that', function (assert) {
+ assert.expect(4)
+ var done = assert.async()
+
+ var toastHtml =
+ '<div class="toast" data-delay="0" data-autohide="false">' +
+ '<div class="toast-body">' +
+ 'a simple toast' +
+ '</div>' +
+ '</div>'
+
+ var $toast = $(toastHtml)
+ .bootstrapToast()
+ .appendTo($('#qunit-fixture'))
+
+ $toast.one('shown.bs.toast', function () {
+ setTimeout(function () {
+ assert.ok($toast.hasClass('show'))
+ assert.ok(typeof $toast.data('bs.toast') !== 'undefined')
+
+ $toast.bootstrapToast('dispose')
+
+ assert.ok(typeof $toast.data('bs.toast') === 'undefined')
+ assert.ok($toast.hasClass('show') === false)
+
+ done()
+ }, 1)
+ })
+ .bootstrapToast('show')
+ })
+
+ QUnit.test('should allow to config in js', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+
+ var toastHtml =
+ '<div class="toast">' +
+ '<div class="toast-body">' +
+ 'a simple toast' +
+ '</div>' +
+ '</div>'
+
+ var $toast = $(toastHtml)
+ .bootstrapToast({
+ delay: 1
+ })
+ .appendTo($('#qunit-fixture'))
+
+ $toast.on('shown.bs.toast', function () {
+ assert.strictEqual($toast.hasClass('show'), true)
+ done()
+ })
+ .bootstrapToast('show')
+ })
+
+
+ QUnit.test('should close toast when close element with data-dismiss attribute is set', function (assert) {
+ assert.expect(2)
+ var done = assert.async()
+
+ var toastHtml =
+ '<div class="toast" data-delay="1" data-autohide="false" data-animation="false">' +
+ '<button type="button" class="ml-2 mb-1 close" data-dismiss="toast">' +
+ 'close' +
+ '</button>' +
+ '</div>'
+
+ var $toast = $(toastHtml)
+ .bootstrapToast()
+ .appendTo($('#qunit-fixture'))
+
+ $toast
+ .on('shown.bs.toast', function () {
+ assert.strictEqual($toast.hasClass('show'), true)
+ var button = $toast.find('.close')
+ button.trigger('click')
+ })
+ .on('hidden.bs.toast', function () {
+ assert.strictEqual($toast.hasClass('show'), false)
+ done()
+ })
+ .bootstrapToast('show')
+ })
+
+ QUnit.test('should expose default setting to allow to override them', function (assert) {
+ assert.expect(1)
+
+ var defaultDelay = 1000
+ Toast.Default.delay = defaultDelay
+
+ var toastHtml =
+ '<div class="toast" data-autohide="false" data-animation="false">' +
+ '<button type="button" class="ml-2 mb-1 close" data-dismiss="toast">' +
+ 'close' +
+ '</button>' +
+ '</div>'
+
+ var $toast = $(toastHtml)
+ .bootstrapToast()
+
+ var toast = $toast.data('bs.toast')
+ assert.strictEqual(toast._config.delay, defaultDelay)
+ })
+})