UNPKG

html5-utils

Version:
106 lines (94 loc) 4.21 kB
'use strict'; var _assert = require('assert'); var _assert2 = _interopRequireDefault(_assert); var _parse = require('parse5'); var _parse2 = _interopRequireDefault(_parse); var _ = require('..'); var _2 = _interopRequireDefault(_); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('.getAttrIndex(node, name)', function () { it('returns index of attribute if set', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal(0, _2.default.getAttrIndex(node, 'foo')); }); it('returns first index of attribute if set', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar1" foo="bar2"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal(0, _2.default.getAttrIndex(node, 'foo')); }); it('returns -1 if attribute is not set', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal(-1, _2.default.getAttrIndex(node, 'test')); }); }); describe('.hasAttr(node, name)', function () { it('true if attribute set', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal(true, _2.default.hasAttr(node, 'foo')); }); it('returns false if attribute is not set', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal(false, _2.default.hasAttr(node, 'test')); }); }); describe('.getAttr(node, name)', function () { it('returns attribute if set', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal('bar', _2.default.getAttr(node, 'foo')); }); it('returns null if attribute is unset', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal(null, _2.default.getAttr(node, 'bar')); }); it('returns first value if attribute is set more than one times', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar1" foo="bar2"></test-el>'); var node = doc.childNodes[0]; _assert2.default.equal('bar1', _2.default.getAttr(node, 'foo')); }); }); describe('.setAttr(node, name)', function () { it('change value of an already set attribute', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar1"></test-el>'); var node = doc.childNodes[0]; _2.default.setAttr(node, 'foo', 'bar2'); _assert2.default.equal('bar2', node.attrs[0].value); }); it('set a new attribute', function () { var doc = _parse2.default.parseFragment('<test-el></test-el>'); var node = doc.childNodes[0]; _2.default.setAttr(node, 'foo', 'bar'); _assert2.default.equal('bar', node.attrs[0].value); }); it('set first instance of attribute.', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar1" foo="bar2"></test-el>'); var node = doc.childNodes[0]; _2.default.setAttr(node, 'foo', 'bar'); _assert2.default.equal('bar', node.attrs[0].value); }); }); describe('.removeAttr(node, name)', function () { it('removes already set attribute', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar"></test-el>'); var node = doc.childNodes[0]; _2.default.removeAttr(node, 'foo'); _assert2.default.equal(0, node.attrs.length); }); it('removes all instances of attribute', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar1" foo="bar2"></test-el>'); var node = doc.childNodes[0]; _2.default.removeAttr(node, 'foo'); _assert2.default.equal(0, node.attrs.length); }); it('do nothing if attribute is not set', function () { var doc = _parse2.default.parseFragment('<test-el foo="bar1"></test-el>'); var node = doc.childNodes[0]; _2.default.removeAttr(node, 'test'); _assert2.default.equal(1, node.attrs.length); }); });