diff --git a/packages/convert-svg-core/src/Converter.js b/packages/convert-svg-core/src/Converter.js index 05bd327..5af35b0 100644 --- a/packages/convert-svg-core/src/Converter.js +++ b/packages/convert-svg-core/src/Converter.js @@ -261,7 +261,7 @@ class Converter { input = Buffer.isBuffer(input) ? input.toString('utf8') : input; const { provider } = this; - const svg = cheerio.default.html(this[_sanitize](cheerio.load(input, null, false)('svg'), options)); + const svg = cheerio.default.html(this[_sanitize](cheerio.load(input, null, false)('svg:first'), options)); if (!svg) { throw new Error('SVG element not found in input. Check the SVG input'); diff --git a/packages/convert-svg-test-helper/src/fixtures/input/issue-86.svg b/packages/convert-svg-test-helper/src/fixtures/input/issue-86.svg new file mode 100644 index 0000000..fce485e --- /dev/null +++ b/packages/convert-svg-test-helper/src/fixtures/input/issue-86.svg @@ -0,0 +1,2 @@ + + diff --git a/packages/convert-svg-test-helper/src/tests.json b/packages/convert-svg-test-helper/src/tests.json index ff5bb82..b670143 100644 --- a/packages/convert-svg-test-helper/src/tests.json +++ b/packages/convert-svg-test-helper/src/tests.json @@ -168,6 +168,12 @@ "file": "issue-81.svg", "message": "should strip onload attribute" }, + { + "name": "when SVG has multiple SVG elements", + "file": "issue-86.svg", + "options": { "width": 1000, "height": 1000 }, + "message": "should only read first SVG element" + }, { "name": "when setting both baseFile and baseUrl options", "file": "external-file.svg", diff --git a/packages/convert-svg-to-jpeg/test/fixtures/expected/29.jpeg b/packages/convert-svg-to-jpeg/test/fixtures/expected/29.jpeg new file mode 100644 index 0000000..cac2f01 Binary files /dev/null and b/packages/convert-svg-to-jpeg/test/fixtures/expected/29.jpeg differ diff --git a/packages/convert-svg-to-jpeg/test/fixtures/expected/36.jpeg b/packages/convert-svg-to-jpeg/test/fixtures/expected/36.jpeg deleted file mode 100644 index 82d4cb3..0000000 Binary files a/packages/convert-svg-to-jpeg/test/fixtures/expected/36.jpeg and /dev/null differ diff --git a/packages/convert-svg-to-jpeg/test/fixtures/expected/37.jpeg b/packages/convert-svg-to-jpeg/test/fixtures/expected/37.jpeg index 85ba906..82d4cb3 100644 Binary files a/packages/convert-svg-to-jpeg/test/fixtures/expected/37.jpeg and b/packages/convert-svg-to-jpeg/test/fixtures/expected/37.jpeg differ diff --git a/packages/convert-svg-to-jpeg/test/fixtures/expected/38.jpeg b/packages/convert-svg-to-jpeg/test/fixtures/expected/38.jpeg index e81d08d..85ba906 100644 Binary files a/packages/convert-svg-to-jpeg/test/fixtures/expected/38.jpeg and b/packages/convert-svg-to-jpeg/test/fixtures/expected/38.jpeg differ diff --git a/packages/convert-svg-to-jpeg/test/fixtures/expected/39.jpeg b/packages/convert-svg-to-jpeg/test/fixtures/expected/39.jpeg new file mode 100644 index 0000000..e81d08d Binary files /dev/null and b/packages/convert-svg-to-jpeg/test/fixtures/expected/39.jpeg differ diff --git a/packages/convert-svg-to-png/test/fixtures/expected/29.png b/packages/convert-svg-to-png/test/fixtures/expected/29.png new file mode 100644 index 0000000..29225d7 Binary files /dev/null and b/packages/convert-svg-to-png/test/fixtures/expected/29.png differ diff --git a/packages/convert-svg-to-webp/test/fixtures/expected/29.webp b/packages/convert-svg-to-webp/test/fixtures/expected/29.webp new file mode 100644 index 0000000..38d2cfd Binary files /dev/null and b/packages/convert-svg-to-webp/test/fixtures/expected/29.webp differ