svg.test.js 1.8 KB

123456789101112131415161718192021222324252627282930
  1. const templateMinify = require("../minifyTemplate.js")
  2. test('Test svg string', () => {
  3. str = `svg\`<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
  4. <path d="M0 0h24v24H0z" fill="none"/>
  5. <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/>
  6. </svg>\`
  7. `
  8. expect(templateMinify(str)).toBe(`svg\`<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/></svg>\`;`);
  9. });
  10. test('Test svg string with template in attribute', () => {
  11. expect(templateMinify('let echo = 0;svg`<svg xmlns="http://www.w3.org/2000/svg">\r\n<path d="M${echo} 0h24v24H0z"/>\r\n</svg>`',{collapseWhitespace: true}))
  12. .toBe('let echo=0;svg`<svg xmlns="http://www.w3.org/2000/svg"><path d="M${echo} 0h24v24H0z"/></svg>`;');
  13. });
  14. test('Test svg string with template as attribute', () => {
  15. expect(templateMinify('let echo = 0;svg`<svg xmlns="http://www.w3.org/2000/svg">\<path ${echo}="2" d="M0 0h24v24H0z"/></svg>`',{collapseWhitespace: true}))
  16. .toBe('let echo=0;svg`<svg xmlns="http://www.w3.org/2000/svg"><path ${echo}="2" d="M0 0h24v24H0z"/></svg>`;');
  17. });
  18. test('Test svg string with template as text', () => {
  19. expect(templateMinify('let echo = 0;svg`<svg xmlns="http://www.w3.org/2000/svg">\<path d="M0 0h24v24H0z">${echo}</path></svg>`',{collapseWhitespace: true}))
  20. .toBe('let echo=0;svg`<svg xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z">${echo}</path></svg>`;');
  21. });
  22. test('Test svg string with template as tag', () => {
  23. expect(templateMinify('let echo = 0;svg`<svg xmlns="http://www.w3.org/2000/svg"><${echo}/></svg>`',{collapseWhitespace: true}))
  24. .toBe('let echo=0;svg`<svg xmlns="http://www.w3.org/2000/svg"><${echo}/></svg>`;');
  25. });