]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
fix(data): increase coverage for data
authorJohann-S <johann.servoire@gmail.com>
Sat, 9 Jun 2018 16:23:13 +0000 (18:23 +0200)
committerXhmikosR <xhmikosr@gmail.com>
Wed, 20 Feb 2019 20:05:45 +0000 (22:05 +0200)
js/src/dom/data.js
js/tests/karma.conf.js
js/tests/unit/.eslintrc.json
js/tests/unit/dom/data.js [new file with mode: 0644]

index 4cee65d2b8395bd0781af823be37c97f05693ab6..838e13a1ddb096c874fa7ec4e55237049b2c000b 100644 (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
index 326287bffa224f586979f80577a8f6b8dd36b696..f6570cdcb4b13631901ff60d907453902c2f194a 100644 (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
index 726fc25c91a9daa498d49fed5617012abca318d1..4010b98305ff0dddf9a4f07368d609a30e50475e 100644 (file)
@@ -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 (file)
index 0000000..63d25b2
--- /dev/null
@@ -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')
+  })
+})