suite.test('setGetAttrib', function () { let dom; DOM.add(document.body, 'div', { id : 'test' }); DOM.setAttrib('test', 'class', 'test 123'); LegacyUnit.equal(DOM.getAttrib('test', 'class'), 'test 123'); DOM.setAttrib('test', 'src', 'url'); LegacyUnit.equal(DOM.getAttrib('test', 'src'), 'url'); LegacyUnit.equal(DOM.getAttrib('test', 'data-mce-src'), 'url'); LegacyUnit.equal(DOM.getAttrib('test', 'abc'), ''); DOM.setAttribs('test', { class : '123', title : 'abc' }); LegacyUnit.equal(DOM.getAttrib('test', 'class'), '123'); LegacyUnit.equal(DOM.getAttrib('test', 'title'), 'abc'); DOM.setAttribs('test'); LegacyUnit.equal(DOM.getAttrib('test', 'class'), '123'); LegacyUnit.equal(DOM.getAttrib('test', 'title'), 'abc'); dom = new DOMUtils(document, { keep_values : true, url_converter (u, n) { return '&<>"' + u + '&<>"' + n; } }); dom.setAttribs('test', { src : '123', href : 'abc' }); LegacyUnit.equal(DOM.getAttrib('test', 'src'), '&<>"123&<>"src'); LegacyUnit.equal(DOM.getAttrib('test', 'href'), '&<>"abc&<>"href'); LegacyUnit.equal(DOM.getAttrib(document, 'test'), ''); LegacyUnit.equal(DOM.getAttrib(document, 'test', ''), ''); LegacyUnit.equal(DOM.getAttrib(document, 'test', 'x'), 'x'); DOM.remove('test'); });
suite.test('setGetAttrib on null', function () { LegacyUnit.equal(DOM.getAttrib(null, 'test'), ''); DOM.setAttrib(null, 'test'); });
suite.test('parseStyle', function () { let dom; DOM.add(document.body, 'div', { id : 'test' }); dom = new DOMUtils(document, { hex_colors : true, keep_values : true, url_converter (u) { return 'X' + u + 'Y'; } }); LegacyUnit.equal( dom.serializeStyle(dom.parseStyle('border: 1px solid red; color: green')), 'border: 1px solid red; color: green;' ); LegacyUnit.equal( dom.serializeStyle(dom.parseStyle('border: 1px solid rgb(0, 255, 255); color: green')), 'border: 1px solid #00ffff; color: green;' ); LegacyUnit.equal( dom.serializeStyle( dom.parseStyle('border-top: 1px solid red; border-left: 1px solid red; border-bottom: 1px solid red; border-right: 1px solid red;') ), 'border: 1px solid red;' ); LegacyUnit.equal( dom.serializeStyle( dom.parseStyle('border-width: 1pt 1pt 1pt 1pt; border-style: none none none none; border-color: black black black black;') ), 'border: 1pt none black;' ); LegacyUnit.equal( dom.serializeStyle( dom.parseStyle('border-width: 1pt 4pt 2pt 3pt; border-style: solid dashed dotted none; border-color: black red green blue;') ), 'border-width: 1pt 4pt 2pt 3pt; border-style: solid dashed dotted none; border-color: black red green blue;' ); LegacyUnit.equal( dom.serializeStyle(dom.parseStyle('background: transparent url(test.gif);')), 'background: transparent url(\'Xtest.gifY\');' ); LegacyUnit.equal( dom.serializeStyle(dom.parseStyle('background: transparent url(http://www.site.com/test.gif?a=1&b=2);')), 'background: transparent url(\'Xhttp://www.site.com/test.gif?a=1&b=2Y\');' ); dom.setHTML('test', '<span id="test2" style=" margin-left: 1px; margin-top: 1px; margin-right: 1px; margin-bottom: 1px "></span>'); LegacyUnit.equal(dom.getAttrib('test2', 'style'), 'margin: 1px;'); dom.setHTML('test', '<span id="test2" style="background-image: url(test.gif);"></span>'); LegacyUnit.equal(dom.getAttrib('test2', 'style'), 'background-image: url(\'Xtest.gifY\');'); // dom.get('test').innerHTML = '<span id="test2" style="border: 1px solid #00ff00"></span>'; // LegacyUnit.equal(dom.getAttrib('test2', 'style'), Env.ue && !window.getSelection ? // 'border: #00ff00 1px solid;' : 'border: 1px solid #00ff00;'); // IE has a separate output dom.get('test').innerHTML = '<span id="test2" style="background-image: url(http://www.site.com/test.gif);"></span>'; LegacyUnit.equal(dom.getAttrib('test2', 'style'), 'background-image: url(\'Xhttp://www.site.com/test.gifY\');'); DOM.remove('test'); });