2
0

attrs.spec.ts 929 B

123456789101112131415161718192021222324252627
  1. import { patchAttr, xlinkNS } from '../../src/modules/attrs'
  2. describe('attrs', () => {
  3. test('xlink attributes', () => {
  4. const el = document.createElementNS('http://www.w3.org/2000/svg', 'use')
  5. patchAttr(el, 'xlink:href', 'a', true)
  6. expect(el.getAttributeNS(xlinkNS, 'href')).toBe('a')
  7. patchAttr(el, 'xlink:href', null, true)
  8. expect(el.getAttributeNS(xlinkNS, 'href')).toBe(null)
  9. })
  10. test('boolean attributes', () => {
  11. const el = document.createElement('input')
  12. patchAttr(el, 'readonly', true, false)
  13. expect(el.getAttribute('readonly')).toBe('')
  14. patchAttr(el, 'readonly', false, false)
  15. expect(el.getAttribute('readonly')).toBe(null)
  16. })
  17. test('attributes', () => {
  18. const el = document.createElement('div')
  19. patchAttr(el, 'id', 'a', false)
  20. expect(el.getAttribute('id')).toBe('a')
  21. patchAttr(el, 'id', null, false)
  22. expect(el.getAttribute('id')).toBe(null)
  23. })
  24. })