aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohann-S <[email protected]>2017-10-25 09:32:21 +0200
committerJohann-S <[email protected]>2017-10-25 12:59:40 +0200
commit988327032d6b76fdb70075feb7254bcb053ec117 (patch)
treedf57ebbec1170fc827101f44dade9f58a9dc1b5f
parent96110893af29f7505b9992a25e6cc910a2851e33 (diff)
downloadbootstrap-988327032d6b76fdb70075feb7254bcb053ec117.tar.xz
bootstrap-988327032d6b76fdb70075feb7254bcb053ec117.zip
Add unit tests for util.js
-rw-r--r--js/tests/index.html1
-rw-r--r--js/tests/unit/util.js57
2 files changed, 58 insertions, 0 deletions
diff --git a/js/tests/index.html b/js/tests/index.html
index 2383fce6e..0385b8a2b 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -119,6 +119,7 @@
<script src="unit/tab.js"></script>
<script src="unit/tooltip.js"></script>
<script src="unit/popover.js"></script>
+ <script src="unit/util.js"></script>
</head>
<body>
<div id="qunit-container">
diff --git a/js/tests/unit/util.js b/js/tests/unit/util.js
new file mode 100644
index 000000000..372c6e3f7
--- /dev/null
+++ b/js/tests/unit/util.js
@@ -0,0 +1,57 @@
+$(function () {
+ 'use strict'
+
+ QUnit.module('util')
+
+ QUnit.test('Util.getSelectorFromElement should return the correct element', function (assert) {
+ assert.expect(2)
+ var $el = $('<div data-target="body"></div>').appendTo($('#qunit-fixture'))
+ assert.strictEqual(Util.getSelectorFromElement($el[0]), 'body')
+
+ // not found element
+ var $el2 = $('<div data-target="#fakeDiv"></div>').appendTo($('#qunit-fixture'))
+ assert.strictEqual(Util.getSelectorFromElement($el2[0]), null)
+ })
+
+ QUnit.test('Util.typeCheckConfig should thrown an error when a bad config is passed', function (assert) {
+ assert.expect(1)
+ var namePlugin = 'collapse'
+ var defaultType = {
+ toggle : 'boolean',
+ parent : '(string|element)'
+ }
+ var config = {
+ toggle: true,
+ parent: 777
+ }
+
+ try {
+ Util.typeCheckConfig(namePlugin, config, defaultType)
+ } catch (e) {
+ assert.strictEqual(e.message, 'COLLAPSE: Option "parent" provided type "number" but expected type "(string|element)".')
+ }
+ })
+
+ QUnit.test('Util.isElement should check if we passed an element or not', function (assert) {
+ assert.expect(3)
+ var $div = $('<div id="test"></div>').appendTo($('#qunit-fixture'))
+
+ assert.strictEqual(Util.isElement($div), 1)
+ assert.strictEqual(Util.isElement($div[0]), 1)
+ assert.strictEqual(typeof Util.isElement({}) === 'undefined', true)
+ })
+
+ QUnit.test('Util.getUID should generate a new id uniq', function (assert) {
+ assert.expect(2)
+ var id = Util.getUID('test')
+ var id2 = Util.getUID('test')
+
+ assert.ok(id !== id2, id + ' !== ' + id2)
+
+ id = Util.getUID('test')
+ $('<div id="' + id + '"></div>').appendTo($('#qunit-fixture'))
+
+ id2 = Util.getUID('test')
+ assert.ok(id !== id2, id + ' !== ' + id2)
+ })
+})