fix(data): increase coverage for data

This commit is contained in:
Johann-S 2018-06-09 18:23:13 +02:00 committed by XhmikosR
parent 9313446274
commit 0b719e065c
4 changed files with 99 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -8,6 +8,7 @@
"bootstrap": false,
"sinon": false,
"Util": false,
"Data": false,
"Alert": false,
"Button": false,
"Carousel": false,

83
js/tests/unit/dom/data.js Normal file
View File

@ -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')
})
})