blob: 08859eb6ebf3993e3acbb960023c3a417454c720 [file] [log] [blame]
import updateTextNode from '@superset-ui/core/src/dimension/svg/updateTextNode';
import createTextNode from '@superset-ui/core/src/dimension/svg/createTextNode';
describe('updateTextNode(node, options)', () => {
it('handles empty options', () => {
const node = updateTextNode(createTextNode());
expect(node.getAttribute('class')).toEqual('');
expect(node.style.font).toEqual('');
expect(node.style.fontWeight).toEqual('');
expect(node.style.fontSize).toEqual('');
expect(node.style.fontStyle).toEqual('');
expect(node.style.fontFamily).toEqual('');
expect(node.style.letterSpacing).toEqual('');
expect(node.textContent).toEqual('');
});
it('handles setting class', () => {
const node = updateTextNode(createTextNode(), { className: 'abc' });
expect(node.getAttribute('class')).toEqual('abc');
expect(node.style.font).toEqual('');
expect(node.style.fontWeight).toEqual('');
expect(node.style.fontSize).toEqual('');
expect(node.style.fontStyle).toEqual('');
expect(node.style.fontFamily).toEqual('');
expect(node.style.letterSpacing).toEqual('');
expect(node.textContent).toEqual('');
});
it('handles setting text', () => {
const node = updateTextNode(createTextNode(), { text: 'abc' });
expect(node.getAttribute('class')).toEqual('');
expect(node.style.font).toEqual('');
expect(node.style.fontWeight).toEqual('');
expect(node.style.fontSize).toEqual('');
expect(node.style.fontStyle).toEqual('');
expect(node.style.fontFamily).toEqual('');
expect(node.style.letterSpacing).toEqual('');
expect(node.textContent).toEqual('abc');
});
it('handles setting font', () => {
const node = updateTextNode(createTextNode(), {
style: {
font: 'italic 30px Lobster 700',
},
});
expect(node.getAttribute('class')).toEqual('');
expect(node.style.fontWeight).toEqual('700');
expect(node.style.fontSize).toEqual('30px');
expect(node.style.fontStyle).toEqual('italic');
expect(node.style.fontFamily).toEqual('Lobster');
expect(node.style.letterSpacing).toEqual('');
expect(node.textContent).toEqual('');
});
it('handles setting specific font style', () => {
const node = updateTextNode(createTextNode(), {
style: {
fontFamily: 'Lobster',
fontStyle: 'italic',
fontWeight: '700',
fontSize: '30px',
letterSpacing: 1.1,
},
});
expect(node.getAttribute('class')).toEqual('');
expect(node.style.fontWeight).toEqual('700');
expect(node.style.fontSize).toEqual('30px');
expect(node.style.fontStyle).toEqual('italic');
expect(node.style.fontFamily).toEqual('Lobster');
expect(node.style.letterSpacing).toEqual('1.1');
expect(node.textContent).toEqual('');
});
});