aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohann-S <[email protected]>2018-06-09 18:23:13 +0200
committerXhmikosR <[email protected]>2019-02-20 22:05:45 +0200
commit0b719e065c278d1d20f993bd2999dd108ac23682 (patch)
tree13575c5921a152d6504ebc8d784957f1963aa6a8
parent9313446274edbb216fd7777c3d3f3147622e81e7 (diff)
downloadbootstrap-0b719e065c278d1d20f993bd2999dd108ac23682.tar.xz
bootstrap-0b719e065c278d1d20f993bd2999dd108ac23682.zip
fix(data): increase coverage for data
-rw-r--r--js/src/dom/data.js3
-rw-r--r--js/tests/karma.conf.js18
-rw-r--r--js/tests/unit/.eslintrc.json1
-rw-r--r--js/tests/unit/dom/data.js83
4 files changed, 99 insertions, 6 deletions
diff --git a/js/src/dom/data.js b/js/src/dom/data.js
index 4cee65d2b..838e13a1d 100644
--- a/js/src/dom/data.js
+++ b/js/src/dom/data.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-beta): dom/data.js
+ * Bootstrap (v4.1.1): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -12,7 +12,6 @@ const Data = (() => {
* ------------------------------------------------------------------------
*/
-
const mapData = (() => {
const storeData = {}
let id = 1
diff --git a/js/tests/karma.conf.js b/js/tests/karma.conf.js
index 326287bff..f6570cdcb 100644
--- a/js/tests/karma.conf.js
+++ b/js/tests/karma.conf.js
@@ -93,9 +93,16 @@ if (bundle) {
reporters.push('BrowserStack')
files = files.concat([
'node_modules/jquery/dist/jquery.slim.min.js',
- 'js/dist/util.js',
- 'js/dist/tooltip.js',
- 'js/dist/!(util|index|tooltip).js' // include all of our js/dist files except util.js, index.js and tooltip.js
+ 'js/coverage/dist/dom/eventHandler.js',
+ 'js/coverage/dist/dom/selectorEngine.js',
+ 'js/coverage/dist/dom/data.js',
+ 'js/coverage/dist/dom/manipulator.js',
+ 'js/coverage/dist/util.js',
+ 'js/coverage/dist/dom/*.js',
+ 'js/coverage/dist/tooltip.js',
+ 'js/coverage/dist/!(util|index|tooltip).js', // include all of our js/dist files except util.js, index.js and tooltip.js
+ 'js/tests/unit/*.js',
+ 'js/tests/unit/dom/*.js'
])
} else {
frameworks.push('detectBrowsers')
@@ -112,8 +119,11 @@ if (bundle) {
'js/coverage/dist/dom/data.js',
'js/coverage/dist/dom/manipulator.js',
'js/coverage/dist/util.js',
+ 'js/coverage/dist/dom/*.js',
'js/coverage/dist/tooltip.js',
- 'js/coverage/dist/!(util|index|tooltip).js' // include all of our js/dist files except util.js, index.js and tooltip.js
+ 'js/coverage/dist/!(util|index|tooltip).js', // include all of our js/dist files except util.js, index.js and tooltip.js
+ 'js/tests/unit/*.js',
+ 'js/tests/unit/dom/*.js'
])
reporters.push('coverage-istanbul')
conf.customLaunchers = customLaunchers
diff --git a/js/tests/unit/.eslintrc.json b/js/tests/unit/.eslintrc.json
index 726fc25c9..4010b9830 100644
--- a/js/tests/unit/.eslintrc.json
+++ b/js/tests/unit/.eslintrc.json
@@ -8,6 +8,7 @@
"bootstrap": false,
"sinon": false,
"Util": false,
+ "Data": false,
"Alert": false,
"Button": false,
"Carousel": false,
diff --git a/js/tests/unit/dom/data.js b/js/tests/unit/dom/data.js
new file mode 100644
index 000000000..63d25b292
--- /dev/null
+++ b/js/tests/unit/dom/data.js
@@ -0,0 +1,83 @@
+$(function () {
+ 'use strict'
+
+ QUnit.module('data')
+
+ QUnit.test('should be defined', function (assert) {
+ assert.expect(1)
+ assert.ok(Data, 'Data is defined')
+ })
+
+ QUnit.test('should set data in a element', function (assert) {
+ assert.expect(1)
+
+ var $div = $('<div />').appendTo('#qunit-fixture')
+ var data = {
+ test: 'bsData'
+ }
+ Data.setData($div[0], 'test', data)
+
+ assert.ok($div[0].key, 'element have a data key')
+ })
+
+ QUnit.test('should get data from an element', function (assert) {
+ assert.expect(1)
+
+ var $div = $('<div />').appendTo('#qunit-fixture')
+ var data = {
+ test: 'bsData'
+ }
+ Data.setData($div[0], 'test', data)
+
+ assert.strictEqual(Data.getData($div[0], 'test'), data)
+ })
+
+ QUnit.test('should return null if nothing is stored', function (assert) {
+ assert.expect(1)
+ assert.ok(Data.getData(document.body, 'test') === null)
+ })
+
+ QUnit.test('should return null if nothing is stored with an existing key', function (assert) {
+ assert.expect(1)
+
+ var $div = $('<div />').appendTo('#qunit-fixture')
+ $div[0].key = {
+ key: 'test2',
+ data: 'woot woot'
+ }
+
+ assert.ok(Data.getData($div[0], 'test') === null)
+ })
+
+ QUnit.test('should delete data', function (assert) {
+ assert.expect(2)
+
+ var $div = $('<div />').appendTo('#qunit-fixture')
+ var data = {
+ test: 'bsData'
+ }
+ Data.setData($div[0], 'test', data)
+ assert.ok(Data.getData($div[0], 'test') !== null)
+
+ Data.removeData($div[0], 'test')
+ assert.ok(Data.getData($div[0], 'test') === null)
+ })
+
+ QUnit.test('should delete nothing if there are nothing', function (assert) {
+ assert.expect(0)
+
+ Data.removeData(document.body, 'test')
+ })
+
+ QUnit.test('should delete nothing if not the good key', function (assert) {
+ assert.expect(0)
+
+ var $div = $('<div />').appendTo('#qunit-fixture')
+ $div[0].key = {
+ key: 'test2',
+ data: 'woot woot'
+ }
+
+ Data.removeData($div[0], 'test')
+ })
+})