aboutsummaryrefslogtreecommitdiff
path: root/js/tests/unit/dom/manipulator.spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/tests/unit/dom/manipulator.spec.js')
-rw-r--r--js/tests/unit/dom/manipulator.spec.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/js/tests/unit/dom/manipulator.spec.js b/js/tests/unit/dom/manipulator.spec.js
index 13d0c3d17..7ba45c102 100644
--- a/js/tests/unit/dom/manipulator.spec.js
+++ b/js/tests/unit/dom/manipulator.spec.js
@@ -1,7 +1,7 @@
import Manipulator from '../../../src/dom/manipulator'
/** Test helpers */
-import { getFixture, clearFixture } from '../../helpers/fixture'
+import { clearFixture, getFixture } from '../../helpers/fixture'
describe('Manipulator', () => {
let fixtureEl
@@ -94,7 +94,7 @@ describe('Manipulator', () => {
})
it('should normalize data', () => {
- fixtureEl.innerHTML = '<div data-bs-test="false" ></div>'
+ fixtureEl.innerHTML = '<div data-bs-test="false" data-bs-test2=\'{"delay":{"show":100,"hide":10}}\'></div>'
const div = fixtureEl.querySelector('div')
@@ -103,8 +103,15 @@ describe('Manipulator', () => {
div.setAttribute('data-bs-test', 'true')
expect(Manipulator.getDataAttribute(div, 'test')).toEqual(true)
- div.setAttribute('data-bs-test', '1')
- expect(Manipulator.getDataAttribute(div, 'test')).toEqual(1)
+ const objectData = { 'Super Hero': ['Iron Man', 'Super Man'], url: 'http://localhost:8080/test?foo=bar' }
+ const dataStr = JSON.stringify(objectData)
+ div.setAttribute('data-bs-test', encodeURIComponent(dataStr))
+ expect(Manipulator.getDataAttribute(div, 'test')).toEqual(objectData)
+
+ div.setAttribute('data-bs-test', dataStr)
+ expect(Manipulator.getDataAttribute(div, 'test')).toEqual(objectData)
+
+ expect(Manipulator.getDataAttribute(div, 'test2')).toEqual({ delay: { show: 100, hide: 10 } })
})
})