Subject: Bug#887376: ITP: node-svgo -- tool for optimizing SVG vector graphics files

From: Pirate Praveen <[email-masked]>
Date: Mon, 15 Jan 2018 22:42:05 +0530

Package: wnpp
Severity: wishlist
Owner: Pirate Praveen <[email-masked]>
X-Debbugs-CC: [email-masked]

* Package name    : node-svgo
  Version         : 1.0.3
  Upstream Author : Kir Belevich <[email-masked]>
(https://github.com/deepsweet)
* URL             : https://github.com/svg/svgo
* License         : Expat
  Programming Lang: JavaScript
  Description     : tool for optimizing SVG vector graphics files

 svgo is a Nodejs-based tool for optimizing SVG vector graphics files.
 .
 SVG files, especially exported from various editors, usually contain a
lot of
 redundant and useless information such as editor metadata, comments, hidden
 elements, default or non-optimal values and other stuff that can be safely
 removed or converted without affecting SVG rendering result.
 .
 Node.js is an event-based server-side JavaScript engine.

In dependency chain of gitlab 9.5 (dependency of postcss-svgo)

---

From: Pirate Praveen <[email-masked]>
Date: Tue, 16 Jan 2018 11:54:17 +0530

Control: tag -1 help

code is pushed to https://salsa.debian.org/js-team/node-svgo

some dependencies are still in NEW which I have added to
https://people.debian.org/~praveen/babel/

287 passing (1s)
  15 failing

  1) plugins tests
       convertStyleToAttrs.02:
     Error: Unknown node type: undefined
      at Object.generate
(/usr/lib/nodejs/css-tree/lib/generator/create.js:38:23)
      at Object.translate
(/usr/lib/nodejs/css-tree/lib/generator/create.js:47:21)
      at Object.csstreeToStyleDeclaration (lib/css-tools.js:168:33)
      at List.<anonymous> (lib/svgo/css-style-declaration.js:108:41)
      at List.each (/usr/lib/nodejs/css-tree/lib/utils/list.js:143:12)
      at CSSStyleDeclaration._loadCssText
(lib/svgo/css-style-declaration.js:107:27)
      at CSSStyleDeclaration.getProperties
(lib/svgo/css-style-declaration.js:201:10)
      at CSSStyleDeclaration.getCssText
(lib/svgo/css-style-declaration.js:122:27)
      at CSSStyleDeclaration.getStyleValue
(lib/svgo/css-style-declaration.js:71:17)
      at Object.exports.fn (plugins/convertStyleToAttrs.js:56:44)
      at lib/svgo/plugins.js:61:45
      at Array.filter (<anonymous>)
      at monkeys (lib/svgo/plugins.js:48:39)
      at lib/svgo/plugins.js:68:17
      at Array.filter (<anonymous>)
      at monkeys (lib/svgo/plugins.js:48:39)
      at perItem (lib/svgo/plugins.js:79:12)
      at lib/svgo/plugins.js:19:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  2) plugins tests
       inlineStyles.03:

      AssertionError: expected '<svg xmlns="http://www.w3.org/2000/svg"
id="dark" viewBox="0 0 258.12 225.88">\n<!--for
https://github.com/svg/svgo/pull/592#issuecomment-266327016-->\n
<style>\n        .cls-8{cls-7-and-8:1}\n    </style>\n    <path
style="cls-7-and-8:1;only-cls-7:1"/>\n</svg>' to be '<svg
xmlns="http://www.w3.org/2000/svg" id="dark" viewBox="0 0 258.12
225.88">\n<!--for
https://github.com/svg/svgo/pull/592#issuecomment-266327016-->\n
<style>\n        .cls-8{cls-7-and-8: 1}\n    </style>\n    <path
style="cls-7-and-8:1;only-cls-7:1"/>\n</svg>'
      + expected - actual

       <svg xmlns="http://www.w3.org/2000/svg" id="dark" viewBox="0 0
258.12 225.88">
       <!--for
https://github.com/svg/svgo/pull/592#issuecomment-266327016-->
           <style>
      -        .cls-8{cls-7-and-8:1}
      +        .cls-8{cls-7-and-8: 1}
           </style>
           <path style="cls-7-and-8:1;only-cls-7:1"/>
       </svg>

      at Assertion.fail (/usr/lib/nodejs/should/lib/assertion.js:92:17)
      at Assertion.value (/usr/lib/nodejs/should/lib/assertion.js:164:19)
      at test/plugins/_index.js:49:58
      at <anonymous>

  3) plugins tests
       inlineStyles.13:

      AssertionError: expected '<svg id="test"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 81.285 81.285">\n
<defs>\n        <style>\n            @charset
&apos;UTF-8&apos;;@namespace svg url(http://www.w3.org/2000/svg);@import
url(&apos;https://fonts.googleapis.com/css?family=Roboto&apos;);@font-face{font-family:SomeFont;src:local(&quot;Some
Font&quot;), local(&quot;SomeFont&quot;),
url(SomeFont.ttf);font-weight:bold}@viewport{zoom:0.8;min-zoom:0.4;max-zoom:0.9}@keyframes
identifier{0%{top:0}50%{top:30px;left:20px}50%{top:10px}100%{top:0}}@page
:first{margin:1in}@supports
(display:flex){.module{display:flex}}@document
url(&apos;http://example.com/test.html&apos;){rect{stroke:red}}\n
</style>\n    </defs>\n    <rect width="100" height="100"
style="fill:blue"/>\n</svg>' to be '<svg id="test"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 81.285 81.285">\n
<defs>\n        <style>\n            @charset
&apos;UTF-8&apos;;@namespace svg url(http://www.w3.org/2000/svg);@import
url(&apos;https://fonts.googleapis.com/css?family=Roboto&apos;);@font-face{font-family:
SomeFont;src: local(&quot;Some Font&quot;), local(&quot;SomeFont&quot;),
url(SomeFont.ttf);font-weight: bold}@viewport{zoom: 0.8;min-zoom:
0.4;max-zoom: 0.9}@keyframes identifier{0%{top: 0}50%{top: 30px;left:
20px}50%{top: 10px}100%{top: 0}}@page :first{margin: 1in}@supports
(display: flex){.module{display: flex}}@document
url(&apos;http://example.com/test.html&apos;){rect{stroke: red}}\n
 </style>\n    </defs>\n    <rect width="100" height="100"
style="fill:blue"/>\n</svg>'
      + expected - actual

       <svg id="test" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
81.285 81.285">
           <defs>
               <style>
      -            @charset &apos;UTF-8&apos;;@namespace svg
url(http://www.w3.org/2000/svg);@import
url(&apos;https://fonts.googleapis.com/css?family=Roboto&apos;);@font-face{font-family:SomeFont;src:local(&quot;Some
Font&quot;), local(&quot;SomeFont&quot;),
url(SomeFont.ttf);font-weight:bold}@viewport{zoom:0.8;min-zoom:0.4;max-zoom:0.9}@keyframes
identifier{0%{top:0}50%{top:30px;left:20px}50%{top:10px}100%{top:0}}@page
:first{margin:1in}@supports
(display:flex){.module{display:flex}}@document
url(&apos;http://example.com/test.html&apos;){rect{stroke:red}}
      +            @charset &apos;UTF-8&apos;;@namespace svg
url(http://www.w3.org/2000/svg);@import
url(&apos;https://fonts.googleapis.com/css?family=Roboto&apos;);@font-face{font-family:
SomeFont;src: local(&quot;Some Font&quot;), local(&quot;SomeFont&quot;),
url(SomeFont.ttf);font-weight: bold}@viewport{zoom: 0.8;min-zoom:
0.4;max-zoom: 0.9}@keyframes identifier{0%{top: 0}50%{top: 30px;left:
20px}50%{top: 10px}100%{top: 0}}@page :first{margin: 1in}@supports
(display: flex){.module{display: flex}}@document
url(&apos;http://example.com/test.html&apos;){rect{stroke: red}}
               </style>
           </defs>
           <rect width="100" height="100" style="fill:blue"/>
       </svg>

      at Assertion.fail (/usr/lib/nodejs/should/lib/assertion.js:92:17)
      at Assertion.value (/usr/lib/nodejs/should/lib/assertion.js:164:19)
      at test/plugins/_index.js:49:58
      at <anonymous>

  4) plugins tests
       inlineStyles.14:

      AssertionError: expected '<svg id="test"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 81.285 81.285">\n
<defs>\n        <style>\n            @media only screen and
(min-device-width:320px) and (max-device-width:480px) and
(-webkit-min-device-pixel-ratio:2){.blue{fill:blue}}\n        </style>\n
   </defs>\n    <rect width="100" height="100" class="blue"/>\n</svg>'
to be '<svg id="test" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
81.285 81.285">\n    <defs>\n        <style>\n            @media only
screen and (min-device-width:320px) and (max-device-width:480px) and
(-webkit-min-device-pixel-ratio:2){.blue{fill: blue}}\n
</style>\n    </defs>\n    <rect width="100" height="100"
class="blue"/>\n</svg>'
      + expected - actual

       <svg id="test" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
81.285 81.285">
           <defs>
               <style>
      -            @media only screen and (min-device-width:320px) and
(max-device-width:480px) and
(-webkit-min-device-pixel-ratio:2){.blue{fill:blue}}
      +            @media only screen and (min-device-width:320px) and
(max-device-width:480px) and
(-webkit-min-device-pixel-ratio:2){.blue{fill: blue}}
               </style>
           </defs>
           <rect width="100" height="100" class="blue"/>
       </svg>

      at Assertion.fail (/usr/lib/nodejs/should/lib/assertion.js:92:17)
      at Assertion.value (/usr/lib/nodejs/should/lib/assertion.js:164:19)
      at test/plugins/_index.js:49:58
      at <anonymous>

  5) plugins tests
       inlineStyles.15:

      AssertionError: expected '<?xml version="1.0"
standalone="no"?>\n<svg viewBox="0 0 24 24" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">\n    <defs
xmlns="http://www.w3.org/1999/xhtml">\n        <style type="text/css">\n
           html /deep/ [layout][horizontal],html /deep/
[layout][vertical]{display:flex}html /deep/
[layout][horizontal][inline],html /deep/
[layout][vertical][inline]{display:inline-flex}html /deep/
[layout][horizontal]{flex-direction:row}html /deep/
[layout][horizontal][reverse]{flex-direction:row-reverse}html /deep/
[layout][vertical]{flex-direction:column}html /deep/
[layout][vertical][reverse]{flex-direction:column-reverse}html /deep/
[layout][wrap]{flex-wrap:wrap}html /deep/
[layout][wrap-reverse]{flex-wrap:wrap-reverse}html /deep/ [flex]{flex:1
1 0px}html /deep/ [flex][auto]{flex:1 1 auto}html /deep/
[flex][none]{flex:0 0 auto}html /deep/ [flex][one]{flex:1 1 0px}html
/deep/ [flex][two]{flex:2 1 0px}html /deep/ [flex][three]{flex:3 1
0px}html /deep/ [flex][four]{flex:4 1 0px}html /deep/
[flex][five]{flex:5 1 0px}html /deep/ [flex][six]{flex:6 1 0px}html
/deep/ [flex][seven]{flex:7 1 0px}html /deep/ [flex][eight]{flex:8 1
0px}html /deep/ [flex][nine]{flex:9 1 0px}html /deep/
[flex][ten]{flex:10 1 0px}html /deep/ [flex][eleven]{flex:11 1 0px}html
/deep/ [flex][twelve]{flex:12 1 0px}html /deep/
[layout][start]{align-items:flex-start}html /deep/
[layout][center]{align-items:center}html /deep/
[layout][end]{align-items:flex-end}html /deep/
[layout][start-justified]{justify-content:flex-start}html /deep/
[layout][center-justified]{justify-content:center}html /deep/
[layout][end-justified]{justify-content:flex-end}html /deep/
[layout][around-justified]{justify-content:space-around}html /deep/
[layout][justified]{justify-content:space-between}html /deep/
[self-start]{align-self:flex-start}html /deep/
[self-center]{align-self:center}html /deep/
[self-end]{align-self:flex-end}html /deep/
[self-stretch]{align-self:stretch}html /deep/ [block]{display:block}html
/deep/ [hidden]{display:none!important}html /deep/
[relative]{position:relative}html /deep/
[fit]{position:absolute;top:0px;right:0px;bottom:0px;left:0px}body[fullbleed]{margin:0px;height:100vh}html
/deep/ [segment],html /deep/
segment{display:block;position:relative;box-sizing:border-box;margin:1em
0.5em;padding:1em;-webkit-box-shadow:rgba(0, 0, 0, 0.0980392) 0px 0px
0px 1px;box-shadow:rgba(0, 0, 0, 0.0980392) 0px 0px 0px
1px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;background-color:white}html
/deep/
core-icon{display:inline-block;vertical-align:middle;background-repeat:no-repeat}html
/deep/ core-icon[size=&quot;&quot;]{position:relative}\n
</style>\n    </defs>\n    <g id="airplanemode-on">\n        <path
d="M10.2,9"/>\n    </g>\n</svg>' to be '<?xml version="1.0"
standalone="no"?>\n<svg viewBox="0 0 24 24" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">\n    <defs
xmlns="http://www.w3.org/1999/xhtml">\n        <style type="text/css">\n
           html /deep/ [layout][horizontal],html /deep/
[layout][vertical]{display: flex}html /deep/
[layout][horizontal][inline],html /deep/
[layout][vertical][inline]{display: inline-flex}html /deep/
[layout][horizontal]{flex-direction: row}html /deep/
[layout][horizontal][reverse]{flex-direction: row-reverse}html /deep/
[layout][vertical]{flex-direction: column}html /deep/
[layout][vertical][reverse]{flex-direction: column-reverse}html /deep/
[layout][wrap]{flex-wrap: wrap}html /deep/
[layout][wrap-reverse]{flex-wrap: wrap-reverse}html /deep/ [flex]{flex:
1 1 0px}html /deep/ [flex][auto]{flex: 1 1 auto}html /deep/
[flex][none]{flex: 0 0 auto}html /deep/ [flex][one]{flex: 1 1 0px}html
/deep/ [flex][two]{flex: 2 1 0px}html /deep/ [flex][three]{flex: 3 1
0px}html /deep/ [flex][four]{flex: 4 1 0px}html /deep/
[flex][five]{flex: 5 1 0px}html /deep/ [flex][six]{flex: 6 1 0px}html
/deep/ [flex][seven]{flex: 7 1 0px}html /deep/ [flex][eight]{flex: 8 1
0px}html /deep/ [flex][nine]{flex: 9 1 0px}html /deep/ [flex][ten]{flex:
10 1 0px}html /deep/ [flex][eleven]{flex: 11 1 0px}html /deep/
[flex][twelve]{flex: 12 1 0px}html /deep/ [layout][start]{align-items:
flex-start}html /deep/ [layout][center]{align-items: center}html /deep/
[layout][end]{align-items: flex-end}html /deep/
[layout][start-justified]{justify-content: flex-start}html /deep/
[layout][center-justified]{justify-content: center}html /deep/
[layout][end-justified]{justify-content: flex-end}html /deep/
[layout][around-justified]{justify-content: space-around}html /deep/
[layout][justified]{justify-content: space-between}html /deep/
[self-start]{align-self: flex-start}html /deep/
[self-center]{align-self: center}html /deep/ [self-end]{align-self:
flex-end}html /deep/ [self-stretch]{align-self: stretch}html /deep/
[block]{display: block}html /deep/ [hidden]{display: none
!important}html /deep/ [relative]{position: relative}html /deep/
[fit]{position: absolute;top: 0px;right: 0px;bottom: 0px;left:
0px}body[fullbleed]{margin: 0px;height: 100vh}html /deep/ [segment],html
/deep/ segment{display: block;position: relative;box-sizing:
border-box;margin: 1em 0.5em;padding: 1em;-webkit-box-shadow: rgba(0, 0,
0, 0.0980392) 0px 0px 0px 1px;box-shadow: rgba(0, 0, 0, 0.0980392) 0px
0px 0px 1px;border-top-left-radius: 5px;border-top-right-radius:
5px;border-bottom-right-radius: 5px;border-bottom-left-radius:
5px;background-color: white}html /deep/ core-icon{display:
inline-block;vertical-align: middle;background-repeat: no-repeat}html
/deep/ core-icon[size=&quot;&quot;]{position: relative}\n
</style>\n    </defs>\n    <g id="airplanemode-on">\n        <path
d="M10.2,9"/>\n    </g>\n</svg>'
      + expected - actual

       <?xml version="1.0" standalone="no"?>
       <svg viewBox="0 0 24 24" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
           <defs xmlns="http://www.w3.org/1999/xhtml">
               <style type="text/css">
      -            html /deep/ [layout][horizontal],html /deep/
[layout][vertical]{display:flex}html /deep/
[layout][horizontal][inline],html /deep/
[layout][vertical][inline]{display:inline-flex}html /deep/
[layout][horizontal]{flex-direction:row}html /deep/
[layout][horizontal][reverse]{flex-direction:row-reverse}html /deep/
[layout][vertical]{flex-direction:column}html /deep/
[layout][vertical][reverse]{flex-direction:column-reverse}html /deep/
[layout][wrap]{flex-wrap:wrap}html /deep/
[layout][wrap-reverse]{flex-wrap:wrap-reverse}html /deep/ [flex]{flex:1
1 0px}html /deep/ [flex][auto]{flex:1 1 auto}html /deep/
[flex][none]{flex:0 0 auto}html /deep/ [flex][one]{flex:1 1 0px}html
/deep/ [flex][two]{flex:2 1 0px}html /deep/ [flex][three]{flex:3 1
0px}html /deep/ [flex][four]{flex:4 1 0px}html /deep/
[flex][five]{flex:5 1 0px}html /deep/ [flex][six]{flex:6 1 0px}html
/deep/ [flex][seven]{flex:7 1 0px}html /deep/ [flex][eight]{flex:8 1
0px}html /deep/ [flex][nine]{flex:9 1 0px}html /deep/
[flex][ten]{flex:10 1 0px}html /deep/ [flex][eleven]{flex:11 1 0px}html
/deep/ [flex][twelve]{flex:12 1 0px}html /deep/
[layout][start]{align-items:flex-start}html /deep/
[layout][center]{align-items:center}html /deep/
[layout][end]{align-items:flex-end}html /deep/
[layout][start-justified]{justify-content:flex-start}html /deep/
[layout][center-justified]{justify-content:center}html /deep/
[layout][end-justified]{justify-content:flex-end}html /deep/
[layout][around-justified]{justify-content:space-around}html /deep/
[layout][justified]{justify-content:space-between}html /deep/
[self-start]{align-self:flex-start}html /deep/
[self-center]{align-self:center}html /deep/
[self-end]{align-self:flex-end}html /deep/
[self-stretch]{align-self:stretch}html /deep/ [block]{display:block}html
/deep/ [hidden]{display:none!important}html /deep/
[relative]{position:relative}html /deep/
[fit]{position:absolute;top:0px;right:0px;bottom:0px;left:0px}body[fullbleed]{margin:0px;height:100vh}html
/deep/ [segment],html /deep/
segment{display:block;position:relative;box-sizing:border-box;margin:1em
0.5em;padding:1em;-webkit-box-shadow:rgba(0, 0, 0, 0.0980392) 0px 0px
0px 1px;box-shadow:rgba(0, 0, 0, 0.0980392) 0px 0px 0px
1px;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;background-color:white}html
/deep/
core-icon{display:inline-block;vertical-align:middle;background-repeat:no-repeat}html
/deep/ core-icon[size=&quot;&quot;]{position:relative}
      +            html /deep/ [layout][horizontal],html /deep/
[layout][vertical]{display: flex}html /deep/
[layout][horizontal][inline],html /deep/
[layout][vertical][inline]{display: inline-flex}html /deep/
[layout][horizontal]{flex-direction: row}html /deep/
[layout][horizontal][reverse]{flex-direction: row-reverse}html /deep/
[layout][vertical]{flex-direction: column}html /deep/
[layout][vertical][reverse]{flex-direction: column-reverse}html /deep/
[layout][wrap]{flex-wrap: wrap}html /deep/
[layout][wrap-reverse]{flex-wrap: wrap-reverse}html /deep/ [flex]{flex:
1 1 0px}html /deep/ [flex][auto]{flex: 1 1 auto}html /deep/
[flex][none]{flex: 0 0 auto}html /deep/ [flex][one]{flex: 1 1 0px}html
/deep/ [flex][two]{flex: 2 1 0px}html /deep/ [flex][three]{flex: 3 1
0px}html /deep/ [flex][four]{flex: 4 1 0px}html /deep/
[flex][five]{flex: 5 1 0px}html /deep/ [flex][six]{flex: 6 1 0px}html
/deep/ [flex][seven]{flex: 7 1 0px}html /deep/ [flex][eight]{flex: 8 1
0px}html /deep/ [flex][nine]{flex: 9 1 0px}html /deep/ [flex][ten]{flex:
10 1 0px}html /deep/ [flex][eleven]{flex: 11 1 0px}html /deep/
[flex][twelve]{flex: 12 1 0px}html /deep/ [layout][start]{align-items:
flex-start}html /deep/ [layout][center]{align-items: center}html /deep/
[layout][end]{align-items: flex-end}html /deep/
[layout][start-justified]{justify-content: flex-start}html /deep/
[layout][center-justified]{justify-content: center}html /deep/
[layout][end-justified]{justify-content: flex-end}html /deep/
[layout][around-justified]{justify-content: space-around}html /deep/
[layout][justified]{justify-content: space-between}html /deep/
[self-start]{align-self: flex-start}html /deep/
[self-center]{align-self: center}html /deep/ [self-end]{align-self:
flex-end}html /deep/ [self-stretch]{align-self: stretch}html /deep/
[block]{display: block}html /deep/ [hidden]{display: none
!important}html /deep/ [relative]{position: relative}html /deep/
[fit]{position: absolute;top: 0px;right: 0px;bottom: 0px;left:
0px}body[fullbleed]{margin: 0px;height: 100vh}html /deep/ [segment],html
/deep/ segment{display: block;position: relative;box-sizing:
border-box;margin: 1em 0.5em;padding: 1em;-webkit-box-shadow: rgba(0, 0,
0, 0.0980392) 0px 0px 0px 1px;box-shadow: rgba(0, 0, 0, 0.0980392) 0px
0px 0px 1px;border-top-left-radius: 5px;border-top-right-radius:
5px;border-bottom-right-radius: 5px;border-bottom-left-radius:
5px;background-color: white}html /deep/ core-icon{display:
inline-block;vertical-align: middle;background-repeat: no-repeat}html
/deep/ core-icon[size=&quot;&quot;]{position: relative}
               </style>
           </defs>
           <g id="airplanemode-on">
               <path d="M10.2,9"/>

      at Assertion.fail (/usr/lib/nodejs/should/lib/assertion.js:92:17)
      at Assertion.value (/usr/lib/nodejs/should/lib/assertion.js:164:19)
      at test/plugins/_index.js:49:58
      at <anonymous>

  6) plugins tests
       inlineStyles.19:

      AssertionError: expected '<svg id="icon_time" data-name="icon
time" xmlns="http://www.w3.org/2000/svg" width="51" height="51"
viewBox="0 0 51 51">\n    <defs>\n        <style>\n
.cls-2,.cls-3{fill:#f5f5f5;stroke:gray}.cls-2{stroke-width:1px}.cls-2{fill-rule:evenodd}.cls-3{stroke-width:2px}\n
       </style>\n    </defs>\n    <circle cx="25.5" cy="25.5" r="25"
style="stroke-width:1px;fill:#f5f5f5;stroke:gray"/>\n    <g>\n
<path class="cls-2"
d="M1098,2415a8,8,0,0,1,8,8v2h-16v-2A8,8,0,0,1,1098,2415Z"
transform="translate(-1072.5 -2389.5)"/>\n        <path
id="Ellipse_14_copy" data-name="Ellipse 14 copy" class="cls-2"
d="M1098,2415a8,8,0,0,0,8-8v-2h-16v2A8,8,0,0,0,1098,2415Z"
transform="translate(-1072.5 -2389.5)"/>\n        <path class="cls-2"
d="M1089,2427v-1h18v1h-18Z" transform="translate(-1072.5 -2389.5)"/>\n
     <path id="Shape_10_copy" data-name="Shape 10 copy" class="cls-2"
d="M1089,2404v-1h18v1h-18Z" transform="translate(-1072.5 -2389.5)"/>\n
     <circle id="Ellipse_13_copy" data-name="Ellipse 13 copy"
class="cls-3" cx="25.5" cy="31.5" r="1"/>\n        <circle
id="Ellipse_13_copy_3" data-name="Ellipse 13 copy 3" class="cls-3"
cx="28.5" cy="31.5" r="1"/>\n        <circle id="Ellipse_13_copy_2"
data-name="Ellipse 13 copy 2" class="cls-3" cx="22.5" cy="31.5"
r="1"/>\n    </g>\n</svg>' to be '<svg id="icon_time" data-name="icon
time" xmlns="http://www.w3.org/2000/svg" width="51" height="51"
viewBox="0 0 51 51">\n    <defs>\n        <style>\n
.cls-2,.cls-3{fill: #f5f5f5;stroke: gray}.cls-2{stroke-width:
1px}.cls-2{fill-rule: evenodd}.cls-3{stroke-width: 2px}\n
</style>\n    </defs>\n    <circle cx="25.5" cy="25.5" r="25"
style="stroke-width:1px;fill:#f5f5f5;stroke:gray"/>\n    <g>\n
<path class="cls-2"
d="M1098,2415a8,8,0,0,1,8,8v2h-16v-2A8,8,0,0,1,1098,2415Z"
transform="translate(-1072.5 -2389.5)"/>\n        <path
id="Ellipse_14_copy" data-name="Ellipse 14 copy" class="cls-2"
d="M1098,2415a8,8,0,0,0,8-8v-2h-16v2A8,8,0,0,0,1098,2415Z"
transform="translate(-1072.5 -2389.5)"/>\n        <path class="cls-2"
d="M1089,2427v-1h18v1h-18Z" transform="translate(-1072.5 -2389.5)"/>\n
     <path id="Shape_10_copy" data-name="Shape 10 copy" class="cls-2"
d="M1089,2404v-1h18v1h-18Z" transform="translate(-1072.5 -2389.5)"/>\n
     <circle id="Ellipse_13_copy" data-name="Ellipse 13 copy"
class="cls-3" cx="25.5" cy="31.5" r="1"/>\n        <circle
id="Ellipse_13_copy_3" data-name="Ellipse 13 copy 3" class="cls-3"
cx="28.5" cy="31.5" r="1"/>\n        <circle id="Ellipse_13_copy_2"
data-name="Ellipse 13 copy 2" class="cls-3" cx="22.5" cy="31.5"
r="1"/>\n    </g>\n</svg>'
      + expected - actual

       <svg id="icon_time" data-name="icon time"
xmlns="http://www.w3.org/2000/svg" width="51" height="51" viewBox="0 0
51 51">
           <defs>
               <style>
      -
.cls-2,.cls-3{fill:#f5f5f5;stroke:gray}.cls-2{stroke-width:1px}.cls-2{fill-rule:evenodd}.cls-3{stroke-width:2px}
      +            .cls-2,.cls-3{fill: #f5f5f5;stroke:
gray}.cls-2{stroke-width: 1px}.cls-2{fill-rule:
evenodd}.cls-3{stroke-width: 2px}
               </style>
           </defs>
           <circle cx="25.5" cy="25.5" r="25"
style="stroke-width:1px;fill:#f5f5f5;stroke:gray"/>
           <g>

      at Assertion.fail (/usr/lib/nodejs/should/lib/assertion.js:92:17)
      at Assertion.value (/usr/lib/nodejs/should/lib/assertion.js:164:19)
      at test/plugins/_index.js:49:58
      at <anonymous>

  7) plugins tests
       minifyStyles.01:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  8) plugins tests
       minifyStyles.02:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  9) plugins tests
       minifyStyles.03:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  10) plugins tests
       minifyStyles.04:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  11) plugins tests
       minifyStyles.05:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  12) plugins tests
       minifyStyles.06:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  13) plugins tests
       minifyStyles.07:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  14) plugins tests
       minifyStyles.08:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

  15) plugins tests
       minifyStyles.09:
     TypeError: fn.call is not a function
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:256:20)
      at walk (/usr/lib/nodejs/css-tree/lib/walker/create.js:264:13)
      at compressChunk (debian/node_modules/csso/lib/compress.js:57:5)
      at compress (debian/node_modules/csso/lib/compress.js:153:9)
      at minify (debian/node_modules/csso/lib/index.js:94:9)
      at Object.minifyStylesheet [as minify]
(debian/node_modules/csso/lib/index.js:123:12)
      at plugins/minifyStyles.js:44:42
      at Array.forEach (<anonymous>)
      at Object.exports.fn (plugins/minifyStyles.js:38:11)
      at lib/svgo/plugins.js:95:27
      at Array.forEach (<anonymous>)
      at full (lib/svgo/plugins.js:93:13)
      at lib/svgo/plugins.js:25:24
      at Array.forEach (<anonymous>)
      at module.exports (lib/svgo/plugins.js:15:13)
      at lib/svgo.js:65:17
      at SAXParser.sax.onend (lib/svgo/svg2js.js:169:13)
      at emit (/usr/lib/nodejs/sax/lib/sax.js:624:35)
      at end (/usr/lib/nodejs/sax/lib/sax.js:667:5)
      at SAXParser.write (/usr/lib/nodejs/sax/lib/sax.js:975:14)
      at SAXParser.close (/usr/lib/nodejs/sax/lib/sax.js:157:38)
      at module.exports (lib/svgo/svg2js.js:182:28)
      at module.exports.SVGO._optimizeOnce (lib/svgo.js:59:5)
      at Promise (lib/svgo.js:52:14)
      at new Promise (<anonymous>)
      at module.exports.SVGO.optimize (lib/svgo.js:25:12)
      at test/plugins/_index.js:47:33
      at <anonymous>

---

From: Pirate Praveen <[email-masked]>
Date: Tue, 16 Jan 2018 20:19:47 +0530

>   15 failing

6 test failures are caused by a newer version of css-tree.
https://github.com/svg/svgo/issues/894

---

From: Paolo Greppi <[email-masked]>
Date: Fri, 11 May 2018 20:17:40 +0200

The repo for this package is now on salsa.

The pkg-javascript-devel team will prepare shortly a new upload with the updated
Vcs-* fields.

Paolo

---

From: Julien Puydt <[email-masked]>
Date: Fri, 10 Dec 2021 08:26:30 +0000

Control: tag -1 pending

Hello,

Bug #887376 in node-svgo reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/js-team/node-svgo/-/commit/a926427769985fd32d823d943a7ba89617898980

------------------------------------------------------------------------
Note that the ITP is still active (Closes: #887376)
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/887376

---

From: Guido Günther <[email-masked]>
Date: Sat, 12 Oct 2024 11:49:46 +0200

Hi,
> https://salsa.debian.org/js-team/node-svgo/-/commit/a926427769985fd32d823d943a7ba89617898980

As a svgo user it would be great to have this in Debian. Any chance this
is still happening (just checking, I don't have band width to help
here atm).
Cheers,
 -- Guido

---

From: "Debian Bug Tracking System" <[email-masked]>
Date: Sat, 12 Oct 2024 09:51:01 +0000

Thank you for the additional information you have supplied regarding
this Bug report.

This is an automatically generated reply to let you know your message
has been received.

Your message has not been forwarded to the package maintainers or
other interested parties; you should ensure that the developers are
aware of the problem you have entered into the system - preferably
quoting the Bug reference number, #887376.

If you wish to submit further information on this problem, please
send it to [email-masked].

Please do not send mail to [email-masked] unless you wish
to report a problem with the Bug-tracking system.

-- 
887376: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887376
Debian Bug Tracking System
Contact [email-masked] with problems